代码
var add = function(){
var count = 0;
return functon(){
return count+=1;
}
}
如果仅仅是这样的话,那么我调用add()时,只会输出:function(){return count+=1;},如果加上自调之后,输出是正常的,每次点击加1.
这里我就不是很明白了,难道我调用add()函数只会执行最外层函数,而不会执行内嵌函数吗?
不是很明白原理,请大神解释一下
代码
var add = function(){
var count = 0;
return functon(){
return count+=1;
}
}
如果仅仅是这样的话,那么我调用add()时,只会输出:function(){return count+=1;},如果加上自调之后,输出是正常的,每次点击加1.
这里我就不是很明白了,难道我调用add()函数只会执行最外层函数,而不会执行内嵌函数吗?
不是很明白原理,请大神解释一下
4 回答5.2k 阅读✓ 已解决
11 回答4.1k 阅读
7 回答2.7k 阅读✓ 已解决
11 回答2.6k 阅读
5 回答1.5k 阅读✓ 已解决
8 回答1.9k 阅读✓ 已解决
6 回答1.2k 阅读
你return的是一个function,属于高阶函数,不是函数调用,所以不会立即执行
这样才会执行