一个js的问题,大家回答一下呀
- JScript code
function f1(){ var n = 999; nAdd = function(){ n++; } function f2(){ return n; } return f2;}请问这里下面的return f2 为什么不是return f2()
[解决办法]
return f2是返回f2函数,return f2()返回的是f2函数的返回值。
[解决办法]
[解决办法]
查查关于js闭包的看看就知道了http://zhidao.baidu.com/question/317091269.html
[解决办法]
这是js闭包啊
闭包规定返回的函数不能含有return语句
也就是说如果return f2(),就会是return return n,这样是不允许的
如果是return f2 就相当与返回一个函数,这个函数语法是return n.
闭包确实挺难理解的
建议楼主多看些教材多看些例子
我也是刚刚接触 共同加油。