JS如下闭包代码(局部变量计数)如何理解

日期:2017-10-20 14:07:34 人气:2

JS如下闭包代码(局部变量计数)如何理解

这么和你说吧,这个就是闭包的最经典的例子,为什么counter不会被清0呢,首先楼主应该明白全局变量的概念,当全局变量被定义以后,不管执行什么运算,全局变量最后的结果都会被保存在内存中不会被初始化对吧。 然后我们来看看这个闭包,在add方法中,我们先对counter赋了一个初始值0,然后return了一个function ,此时这个function相当于add方法的子方法,此时由于counter在子方法外,所以相对于子方法,counter这个变量是一个全局变量,所以在子方法中,counter会被保存在内
    A+
热门评论