首页 热点专区 义务教育 高等教育 出国留学 考研考公

为什么再次调用JavaScript函数时,自调函数只执行一次?counter为什么不归...

发布网友

我来回答

1个回答

热心网友

var add = (function () {

var counter = 0;

return function () {counter += 1; return counter;}

})();

这个的意思,是把外面这个匿名函数的运行结果赋值给add,也就是说这个函数只在赋值的时候执行一次(这也意味着var counter = 0;只执行了一次),以后调用add时,实际运行的就是里面的这个function () {counter += 1; return counter;}函数,所以couter不会归零,会继续累加下去。

你用console.log(add);把add打印到控制台就知道是怎么回事了:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com