标签:
当调用函数需要一个一直存在的值的时候,可以讲这个值存在全局变量中;也可以存在一个函数对象的属性中,调用这个函数就会返回这个值;下面有个例子:
<!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>
标签:
原文地址:http://www.cnblogs.com/gaidalou/p/5962753.html