js的閉包的一個(gè)示例說明
更新時(shí)間:2008年11月18日 11:18:39 作者:
js中 某個(gè)函數(shù)的內(nèi)部函數(shù)在該函數(shù)執(zhí)行結(jié)束后仍然可以訪問這個(gè)函數(shù)中定義的變量,這稱為閉包(Closure)
復(fù)制代碼 代碼如下:
function outside()
{
var myVar = 1;
return function (){
alert(myVar);
}
}
var t = outside();
t();
js中 某個(gè)函數(shù)的內(nèi)部函數(shù)在該函數(shù)執(zhí)行結(jié)束后仍然可以訪問這個(gè)函數(shù)中定義的變量,這稱為閉包(Closure)
下面例子是給三個(gè)錨anchor1,anchor2,anchor3添加onclick事件,可以預(yù)期的效果是點(diǎn)擊錨點(diǎn)顯示相應(yīng)的錨點(diǎn)ID,實(shí)際上卻都是顯示"My id is anchor4", 這個(gè)就是閉包作用引起的邏輯上的bug,添加事件的函數(shù)執(zhí)行完后i的值為4,
復(fù)制代碼 代碼如下:
ADS.addEvent(window, 'load', function(W3CEvent) {m
for (var i=1 ; i<=3 ; i++ ) {
var anchor = document.getElementById('anchor' + i);
ADS.addEvent(anchor,'click',function() {
alert('My id is anchor' + i);
});
}
});
相關(guān)文章
js實(shí)現(xiàn)基于正則表達(dá)式的輕量提示插件
這篇文章主要介紹了基于正則表達(dá)式的輕量提示插件,兼容性強(qiáng)卻文件輕巧的文本框檢測插件,推薦給大家,有需要的小伙伴可以參考下。2015-08-08
10種JavaScript最常見的錯(cuò)誤(小結(jié))
這篇文章主要介紹了10種JavaScript最常見的錯(cuò)誤(小結(jié)),查看了數(shù)千個(gè)項(xiàng)目后,發(fā)現(xiàn)了 10 個(gè)最常見的 JavaScript 錯(cuò)誤。我們會告訴你什么原因?qū)е铝诉@些錯(cuò)誤,以及如何防止這些錯(cuò)誤發(fā)生2019-06-06
微信小程序如何刷新當(dāng)前界面的實(shí)現(xiàn)方法
這篇文章主要介紹了微信小程序如何刷新當(dāng)前界面的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用小程序具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
spirngmvc js傳遞復(fù)雜json參數(shù)到controller的實(shí)例
下面小編就為大家分享一篇spirngmvc js傳遞復(fù)雜json參數(shù)到controller的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03
Uniapp微信小程序?qū)崿F(xiàn)全局事件監(jiān)聽并進(jìn)行數(shù)據(jù)埋點(diǎn)的方法
niapp起源?uni-app是一個(gè)使用Vue.js開發(fā)所有前端應(yīng)用的框架,下面這篇文章主要給大家介紹了關(guān)于Uniapp微信小程序?qū)崿F(xiàn)全局事件監(jiān)聽并進(jìn)行數(shù)據(jù)埋點(diǎn)的相關(guān)資料,需要的朋友可以參考下2022-11-11
詳解JavaScript數(shù)組reduce()方法的高級技巧
reduce()?是?JavaScript?中一個(gè)很有用的數(shù)組方法,這篇文章主要介紹了JavaScript中reduce()方法的高級技巧,感興趣的小伙伴可以了解一下2023-03-03
JS實(shí)現(xiàn)鼠標(biāo)經(jīng)過好友列表中的好友頭像時(shí)顯示資料卡的效果
需求為當(dāng)用戶鼠標(biāo)經(jīng)過好友列表中好友頭像時(shí),顯示該好友的基本資料,其實(shí)也就是類似QQ客戶端的那種功能,下面是具體的實(shí)現(xiàn)思路及過程2014-07-07

