自定义函数属性
函数是一种特殊的对象,他可以拥有属性。
当调用函数需要一个一直存在的值的时候,可以讲这个值存在全局变量中;也可以存在一个函数对象的属性中,调用这个函数就会返回这个值;下面有个例子:
<!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>