自定义函数属性

自定义函数属性

函数是一种特殊的对象,他可以拥有属性。

当调用函数需要一个一直存在的值的时候,可以讲这个值存在全局变量中;也可以存在一个函数对象的属性中,调用这个函数就会返回这个值;下面有个例子:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    </body>
</html>
<script>
    function factorial(n){
        if (isFinite(n)&&n>0&&n==Math.round(n)){
            if(!(n in factorial))
            {
                factorial[n]=n*factorial(n-1);  //利用函数的属性  存值
                return factorial[n];               //返回传入的值在函数上定义为属性名的 属性值
            } 
            else{
                return factorial[n];
            }
        }
        else
            return NaN;  //输入有误 输出NAN
    };
    
    factorial[1]=1;  //初始化一个值   函数的条件n>0 正整数
                        //所以n如果是1  factorial函数的属性就存 1
                        //所以n如果是2  factorial函数的属性就存 2
                        //所以n如果是3  factorial函数的属性就存 6
    console.log(factorial(2));
    console.log(factorial(2));
    console.log(factorial(5));
    console.log(factorial(15));
</script>
原文地址:https://www.cnblogs.com/gaidalou/p/5962753.html