javascript學(xué)習(xí)之閉包分析
在ECMAScript中,在函數(shù)聲明處向函數(shù)外部看到的聲明的所有變量,在函數(shù)內(nèi)部都能訪問(wèn)到它們的最終值!
閉包函數(shù)只能訪問(wèn)變量的最終值!!!
eg:
function fnTest(arr) {
for (var i=0;i < arr.length;i++) {
arr[i]=function () { alert(i+" | "+arr[i]); };
}
}
var arr = [0,1,2,3];
fnTest(arr);
for (var i=0;i < arr.length;i++) {
arr[i](); //始終輸出4還有一個(gè)undefined因?yàn)楹瘮?shù)退出后,i值為4,所以訪問(wèn)到的值只有4
//結(jié)果會(huì)連續(xù)彈出4個(gè)"4|undefined”
}
不但在閉包中可以訪問(wèn)閉包外的變量值,而且還可以設(shè)置它的值
eg:
function fnTest() {
var a="June";
return {
set:function (param) {a = param},
get:function () {return a}
};
}
var obj = fnTest();
alert(obj.get());//彈出June
obj.set(586);
alert(obj.get());//彈出586
相關(guān)文章
UniApp與WebView雙向通信及數(shù)據(jù)傳輸超詳細(xì)講解
這篇文章主要介紹了UniApp與WebView雙向通信及數(shù)據(jù)傳輸?shù)南嚓P(guān)資料,詳細(xì)講解了UniApp與WebView的通信原理、方法對(duì)比、數(shù)據(jù)傳輸實(shí)戰(zhàn)、調(diào)試技巧、性能優(yōu)化策略及技術(shù)風(fēng)險(xiǎn)控制,通過(guò)合理選型和優(yōu)化,需要的朋友可以參考下2025-04-04
微信小程序的引導(dǎo)頁(yè)實(shí)現(xiàn)代碼
這篇文章主要介紹了微信小程序的引導(dǎo)頁(yè)實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
JavaScript實(shí)現(xiàn)動(dòng)態(tài)刪除列表框值的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)動(dòng)態(tài)刪除列表框值的方法,涉及javascript針對(duì)select列表框的遍歷與刪除操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08
js實(shí)現(xiàn)截取某個(gè)字符串前面的內(nèi)容
這篇文章主要介紹了js實(shí)現(xiàn)截取某個(gè)字符串前面的內(nèi)容,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
HTML中不支持靜態(tài)Expando的元素的問(wèn)題
HTML中不支持靜態(tài)Expando的元素的問(wèn)題...2007-03-03
BootStrap 智能表單實(shí)戰(zhàn)系列(五) 表單依賴(lài)插件處理
這篇文章主要介紹了BootStrap 智能表單實(shí)戰(zhàn)系列(五) 表單依賴(lài)插件處理 的相關(guān)資料,比較簡(jiǎn)單,主要介紹生產(chǎn)表單元素后的一些后續(xù)處理操作,非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-06-06

