求问。 !function 这样代表什么意思?
!function(n){
if(!(n in rv)){
l = rv[(n-1)]||arguments.callee(n-1);
r = rv[(n-2)]||arguments.callee(n-2);
rv[n] = l+r;
}
return rv[n];
}(n);
!function这个是什么意思?
------解决方案--------------------字面看是取非
实际为了直接运行这个函数
------解决方案--------------------
var rv = [1,1], l, r;
var x = !function(n){
if(!(n in rv)){
l = rv[(n-1)]
------解决方案--------------------
arguments.callee(n-1);
r = rv[(n-2)]
------解决方案--------------------
arguments.callee(n-2);
rv[n] = l+r;
}
return rv[n];
}(10);
alert(x);
alert(rv);
PS:函数是生成一个斐波拉契数列,数列长度为函数的参数+1
------解决方案--------------------定义完了直接传入参数 n 调用,俗称立即执行函数
------解决方案--------------------其实就和
function a(n){
//方法体
}
// n声明并赋值
a(n);