关于闭包。

来源:2-5 闭包

宝慕林3013065

2020-06-05 15:21:40

http://img.mukewang.com/climg/5ed9f191094f659e05100824.jpg

http://img.mukewang.com/climg/5ed9f1c1091b331a04780864.jpg

num+1与num++输出的值为什么不一样呢?

还有我对闭包的理解是,如果不用闭包的话,我们只想用到函数里面的值,又怕接下来的代码,可能是忘了又重定义了一个一样的变量名,这样就会改变原有的值。

如果用闭包的话,不管我外面设没设一样的变量名,我调用的值不会变,是这样理解的吗?

写回答

1回答

好帮手慕码

2020-06-05

同学你好,解答如下:

1、a++,是先取a的值,在进行加加操作。

a+=1,是先对a进行加1操作,在返回a的值,相当于 ++a;

2、闭包的特性和外面的变量没有太大关系,而是 闭包能够读取其他函数内部变量的函数。

一般来说,在js中,函数内部可以直接读取全局变量,但是在函数外部无法读取函数内部的局部变量,会未定义的错。基于这种情况,闭包就应用而生了。

同学可以再理解一下。祝学习愉快~

0

0 学习 · 14456 问题

查看课程