匿名包装器(function(){})()
生活随笔
收集整理的這篇文章主要介紹了
匿名包装器(function(){})()
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
轉(zhuǎn)載自***:https://bonsaiden.github.io/JavaScript-Garden/zh/#function.scopes
只有一個全局作用域?qū)е碌某R婂e誤是命名沖突。在 JavaScript中,這可以通過 匿名包裝器 輕松解決。
(function()?{//?函數(shù)創(chuàng)建一個命名空間window.foo?=?function()?{//?對外公開的函數(shù),創(chuàng)建了閉包};})();?//?立即執(zhí)行此匿名函數(shù)匿名函數(shù)被認(rèn)為是 表達(dá)式;因此為了可調(diào)用性,它們首先會被執(zhí)行。
(?//?小括號內(nèi)的函數(shù)首先被執(zhí)行 function()?{} )?//?并且返回函數(shù)對象 ()?//?調(diào)用上面的執(zhí)行結(jié)果,也就是函數(shù)對象有一些其他的調(diào)用函數(shù)表達(dá)式的方法,比如下面的兩種方式語法不同,但是效果一模一樣。
//?另外兩種方式 +function(){}(); (function(){}());結(jié)論
推薦使用匿名包裝器(譯者注:也就是自執(zhí)行的匿名函數(shù))來創(chuàng)建命名空間。這樣不僅可以防止命名沖突, 而且有利于程序的模塊化。
另外,使用全局變量被認(rèn)為是不好的習(xí)慣。這樣的代碼容易產(chǎn)生錯誤并且維護(hù)成本較高。
轉(zhuǎn)載于:https://blog.51cto.com/ppxxll/1685500
總結(jié)
以上是生活随笔為你收集整理的匿名包装器(function(){})()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自动化测试框架
- 下一篇: MINA2 源代码学习--源代码结构梳理