请教个问题:像这种闭包写法,有啥优势

发布于 2021-11-06 03:46:51 字数 145 浏览 928 评论 7

var  gMo= (function(){
         return {
	          "init" : function(){
		      return this;
	          }	
	        };
  })().init();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

顾挽 2021-11-08 23:27:47
var  gMo= (function(){
         return {
	          "init" : function(){
		     alert('init');
	          },
                  
                  "haha" :  function(){
                      alert('haha');
                  },
                  "hehe"  :  function(){
                      alert('hehe');
                  }	
	        };
  })();
   
   gMo.init();
   gMo.haha();
   gMo.hehe();
  

臻嫒无言 2021-11-08 23:26:08

个人觉得,闭包的写法,主要可以防范命名重复而出现调用错的情况。因为JS是一段一段出现在这个页面里的,开发人员这个写一段丢进去那个写一段丢进去,说不定你写的那个函数或者变量命名就和别人的一样了,这时候不就杯具了么?

而用了闭包,你定义的东西都在你的包内有效,调用也是调用的你包内的东东,即不会可以避免你把别人以前写的影响了,也可以避免别人影响你的。所以何乐不为呢?

把回忆走一遍 2021-11-08 23:17:03

引用来自“pczhangtl”的答案

引用来自“大东哥”的答案

单例和封装。

不再见 2021-11-08 23:08:05

匿名函数具有全局性,这样写就是把他局部化了。

如果不封装一下的话,变量回收效率会很低的

别低头,皇冠会掉 2021-11-08 22:52:06

引用来自“大东哥”的答案

单例和封装。

无声静候 2021-11-08 22:34:30

个人觉得,可以避免全局函数, 提高封装程度。

恋你朝朝暮暮 2021-11-08 21:16:05

单例和封装。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文