a是表示什么? 一个函数么?
var a = (function(n){ if(n<1){ alert("invalid arguments"); return 0; } if(n==1){ return 1; } else{ return n * arguments.callee(n-1); } })(4); document.writeln(a);
a是表示什么? 一个函数么?
var a = (function(n){ if(n<1){ alert("invalid arguments"); return 0; } if(n==1){ return 1; } else{ return n * arguments.callee(n-1); } })(4); document.writeln(a);
a在这里并不表示一个函数,如果它要表示定义函数会这么写
显然问题中的写法中
a
被赋值的是这个函数的执行结果。这是一种匿名函数的执行写法,如果不好理解你可以分解来看。比如上面的代码可以分解成