关于闭包。

关于闭包。

http://img1.sycdn.imooc.com//climg/5ed9f191094f659e05100824.jpg

http://img1.sycdn.imooc.com//climg/5ed9f1c1091b331a04780864.jpg

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

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

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

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,解答如下:

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

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

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

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

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

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师