function a(n){
if (isFinite(n)&& n>0&& n==Math.round(n)){
if(!(n in a))
a[n]=n*a(n-1)
return a[n]
}
else return NaN
}
有没有大触知道if(!(n in a))这行代码,a里会有属性名是n
http://blog.csdn.net/slalx/article/details/5910587
n是a(n)这里传入的值
a[n]=n*a(n-1) //从这里给a赋予属性n,看着应该是数字,
if(!(n in a))判断这个的意思应该是没有a[n]数值或者数值为0,则重新计算递归
什么意思啊??不明白你要干啥