关于闭包。
来源:2-5 闭包
宝慕林3013065
2020-06-05 15:21:40
num+1与num++输出的值为什么不一样呢?
还有我对闭包的理解是,如果不用闭包的话,我们只想用到函数里面的值,又怕接下来的代码,可能是忘了又重定义了一个一样的变量名,这样就会改变原有的值。
如果用闭包的话,不管我外面设没设一样的变量名,我调用的值不会变,是这样理解的吗?
1回答
同学你好,解答如下:
1、a++,是先取a的值,在进行加加操作。
a+=1,是先对a进行加1操作,在返回a的值,相当于 ++a;
2、闭包的特性和外面的变量没有太大关系,而是 闭包能够读取其他函数内部变量的函数。
一般来说,在js中,函数内部可以直接读取全局变量,但是在函数外部无法读取函数内部的局部变量,会未定义的错。基于这种情况,闭包就应用而生了。
同学可以再理解一下。祝学习愉快~