淺析Javascript閉包的特性

淺析Javascript閉包的特性

ID:38054243

大小:40.50 KB

頁(yè)數(shù):3頁(yè)

時(shí)間:2019-05-24

淺析Javascript閉包的特性_第1頁(yè)
淺析Javascript閉包的特性_第2頁(yè)
淺析Javascript閉包的特性_第3頁(yè)
資源描述:

《淺析Javascript閉包的特性》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、淺析Javascript閉包的特性Javascript閉包的定義非常晦澀——閉包,是指語(yǔ)法域位于某個(gè)特定的區(qū)域,具有持續(xù)參照(讀寫(xiě))位于該區(qū)域內(nèi)自身范圍之外的執(zhí)行域上的非持久型變量值能力的段落。這些外部執(zhí)行域的非持久型變量神奇地保留它們?cè)陂]包最初定義(或創(chuàng)建)時(shí)的值(深連結(jié))。簡(jiǎn)單來(lái)說(shuō),Javascript閉包就是在另一個(gè)作用域中保存了一份它從上一級(jí)函數(shù)或作用域取得的變量(鍵值對(duì)),而這些鍵值對(duì)是不會(huì)隨上一級(jí)函數(shù)的執(zhí)行完成而銷(xiāo)毀。周愛(ài)民說(shuō)得更清楚,閉包就是“屬性表”,閉包就是一個(gè)數(shù)據(jù)塊,閉包就是一個(gè)存放著“Name=Value”的對(duì)照表。就這么簡(jiǎn)單。但是,必須強(qiáng)調(diào),閉包是運(yùn)行期

2、概念,一個(gè)函數(shù)實(shí)例。Javascript閉包的實(shí)現(xiàn),通常是在函數(shù)內(nèi)部再定義函數(shù),讓該內(nèi)部函數(shù)使用上一級(jí)函數(shù)的變量或全局變量。ECMAScript認(rèn)為使用全局變量是一個(gè)簡(jiǎn)單的Javascript閉包實(shí)例。1.var?sMessage?=?"Hello?World";??2.function?sayHelloWorld(){??3.alert(sMessage);??4.};??5.sayHelloWorld();?但它完成沒(méi)有體現(xiàn)Javascript閉包的特性……現(xiàn)在比較讓人認(rèn)同的Javascript閉包實(shí)現(xiàn)有如下三種6.with(obj){??7.//這里是對(duì)象閉包??8.}(

3、function(){?????9.//函數(shù)閉包??10.})()try{??11.//...??12.}?catch(e)?{??13.//catch閉包?但I(xiàn)E里不行??14.}?附上今天在無(wú)憂看到的問(wèn)題:要求:讓這三個(gè)節(jié)點(diǎn)的Onclick事件都能正確的彈出相應(yīng)的參數(shù)。1.

    ???2.aa???3.aa??4.aa??5.
??6.??7.
    ??8.aa??9

    4、.aa??10.aa??11.

??12.??13.for(var?i=1;?i??客服果果的解答:20.for(var?i=1;?i?

5、.var?id?=?document.getElementById("a"?+?i);????22./*????23.這里生成了一個(gè)匿名函數(shù)并賦值給對(duì)象?id_i;????24.*/????25.id.onclick?=?function(){?????????26./*?????????27.這個(gè)i來(lái)源于局部變量,無(wú)法以window.i或者obj.i的形式在后期引用,?????????28.只好以指針或者變量地址方式保存在這個(gè)匿名函數(shù)中,?????????29.這就是傳說(shuō)的閉包,所以所有這個(gè)過(guò)程中生成的事件句柄都使用引用?????????30.的方式來(lái)持久這個(gè)變量,也就是這些

6、匿名函數(shù)共用一個(gè)變量i;?????????31.*/????????32.alert(i);?????33.};??34.};?局部變?nèi)?.for(var?i=1;?i?

7、yId("a"?+?i);???9.window[id.id]=i;//這個(gè)i有了根???10.id.onclick=function(){????????11.alert(window[this.id]);????12.};??13.}?產(chǎn)生一對(duì)一的更多Javascript閉包14.for(var?i=1;?i?

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。