JavaScript 編寫匿名函數(shù)的幾種方法
更新時(shí)間:2010年02月21日 16:27:57 作者:
匿名函數(shù)可以有效控制變量作用域,構(gòu)造閉包 (Closure),防止對全局變量造成污染。在 JavaScript 中,編寫匿名函數(shù),有以下幾種方法.
錯(cuò)誤模式:語法錯(cuò)誤警告
function(){
// insert code here
}();
模式一:函數(shù)字面量 (Function Literal)
先聲明函數(shù)對象,然后執(zhí)行。
(function(){
// insert code here
})();
模式二:優(yōu)先表達(dá)式 (Prior Expression)
由于 JavaScript 按照從內(nèi)到外的順序執(zhí)行表達(dá)式,因此使用括號來強(qiáng)制執(zhí)行已聲明的函數(shù)。
(function(){
// insert code here
}());
模式三:Void 操作符 (Void Operator)
使用 Void 操作符執(zhí)行一個(gè)單獨(dú)的操作數(shù)。
void function(){
// insert code here
}();
從技術(shù)上講,這三種代碼模式是等價(jià)的。但在實(shí)際應(yīng)用中,例如 YUI、jQuery 等框架,模式一更被廣泛使用。
復(fù)制代碼 代碼如下:
function(){
// insert code here
}();
模式一:函數(shù)字面量 (Function Literal)
先聲明函數(shù)對象,然后執(zhí)行。
復(fù)制代碼 代碼如下:
(function(){
// insert code here
})();
模式二:優(yōu)先表達(dá)式 (Prior Expression)
由于 JavaScript 按照從內(nèi)到外的順序執(zhí)行表達(dá)式,因此使用括號來強(qiáng)制執(zhí)行已聲明的函數(shù)。
復(fù)制代碼 代碼如下:
(function(){
// insert code here
}());
模式三:Void 操作符 (Void Operator)
使用 Void 操作符執(zhí)行一個(gè)單獨(dú)的操作數(shù)。
復(fù)制代碼 代碼如下:
void function(){
// insert code here
}();
從技術(shù)上講,這三種代碼模式是等價(jià)的。但在實(shí)際應(yīng)用中,例如 YUI、jQuery 等框架,模式一更被廣泛使用。
您可能感興趣的文章:
- 使一個(gè)函數(shù)作為另外一個(gè)函數(shù)的參數(shù)來運(yùn)行的javascript代碼
- JavaScript獲取鼠標(biāo)坐標(biāo)的函數(shù)(兼容IE、FireFox、Chrome)
- javascript parseInt與Number函數(shù)的區(qū)別
- javascript 獲取url參數(shù)和script標(biāo)簽中獲取url參數(shù)函數(shù)代碼
- javascript讓setInteval里的函數(shù)參數(shù)中的this指向特定的對象
- 對字符串進(jìn)行HTML編碼和解碼的JavaScript函數(shù)
- javascript 函數(shù)速查表
- jQuery學(xué)習(xí)7 操作JavaScript對象和集合的函數(shù)
- 兩個(gè)比較有用的Javascript工具函數(shù)代碼
- Javascript 使用function定義構(gòu)造函數(shù)
- Javascript函數(shù)的參數(shù)
- 詳解javascript函數(shù)的參數(shù)
相關(guān)文章
Bootstrap下拉菜單更改為懸停(hover)觸發(fā)的方法
這篇文章主要為大家詳細(xì)介紹了Bootstrap下拉菜單更改為懸停(hover)觸發(fā)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05使用typescript改造koa開發(fā)框架的實(shí)現(xiàn)
這篇文章主要介紹了使用typescript改造koa開發(fā)框架的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02JS高級拖動(dòng)技術(shù) setCapture,releaseCapture
setCapture 的意思就是設(shè)置一個(gè)對象的方法被觸發(fā)的范圍,或者作用域。2011-07-07Three.Js實(shí)現(xiàn)看房自由小項(xiàng)目
目前隨著元宇宙概念的爆火,THREE技術(shù)已經(jīng)深入到了物聯(lián)網(wǎng)、VR、游戲、數(shù)據(jù)可視化等多個(gè)平臺,今天我們主要基于THREE實(shí)現(xiàn)一個(gè)三維的VR看房小項(xiàng)目,感興趣的朋友跟隨小編一起看看吧2022-10-10頁面調(diào)用單個(gè)swf文件,嵌套出多個(gè)方法。
頁面調(diào)用單個(gè)swf 文件,嵌套出多個(gè)方法,需要的朋友可以參考下。2011-11-11url參數(shù)中有+、空格、=、%、&、#等特殊符號的問題解決
url參數(shù)中有+、空格、=、%、&、#等特殊符號的問題解決,需要的朋友可以參考一下2013-05-05