为了账号安全,请及时绑定邮箱和手机立即绑定

有没有人遇到过这个问题哈!1,闭包与模块化,请问我这段代码算是模块化吗。2,立即执行函数我实在不清楚他的意义在哪大佬们有什么好的建议?

有没有人遇到过这个问题哈!1,闭包与模块化,请问我这段代码算是模块化吗。2,立即执行函数我实在不清楚他的意义在哪大佬们有什么好的建议?

沧海一幻觉 2019-06-20 10:30:25
functionmodule(){vara=1;varb=1;functionadd(){console.log(a+b)}functiondec(){console.log(a-b)}return{add:add,dec:dec}}varmod=module();mod.add();mod.dec();立即执行函数可以让变量私有化,避免变量污染。那么就上面的代码而言,存在变量污染这个问题吗,试了半天也感觉不出来啊。那么用立即执行函数里嵌套闭包来实现模块化的方式,它的意义在哪里呢
查看完整描述

2 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

个人认为模块化的意义在于解耦、复用、和安全的上下文感觉和函数式编程里面纯函数的概念类似:相同的输入总会得到相同的输出;不会改变其他变量等等你这个module勉强也算:无论在什么地方复用adddec方法都行
iife的意义也在于生成单独的命名空间,不污染其他变量
如果有帮到你麻烦upvote或采纳
                            
查看完整回答
反对 回复 2019-06-20
  • 2 回答
  • 0 关注
  • 249 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信