javascript學(xué)習(xí)之閉包分析
在ECMAScript中,在函數(shù)聲明處向函數(shù)外部看到的聲明的所有變量,在函數(shù)內(nèi)部都能訪問到它們的最終值!
閉包函數(shù)只能訪問變量的最終值!!!
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還有一個undefined因為函數(shù)退出后,i值為4,所以訪問到的值只有4
//結(jié)果會連續(xù)彈出4個"4|undefined”
}
不但在閉包中可以訪問閉包外的變量值,而且還可以設(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ù)傳輸超詳細講解
這篇文章主要介紹了UniApp與WebView雙向通信及數(shù)據(jù)傳輸?shù)南嚓P(guān)資料,詳細講解了UniApp與WebView的通信原理、方法對比、數(shù)據(jù)傳輸實戰(zhàn)、調(diào)試技巧、性能優(yōu)化策略及技術(shù)風(fēng)險控制,通過合理選型和優(yōu)化,需要的朋友可以參考下2025-04-04
JavaScript實現(xiàn)動態(tài)刪除列表框值的方法
這篇文章主要介紹了JavaScript實現(xiàn)動態(tài)刪除列表框值的方法,涉及javascript針對select列表框的遍歷與刪除操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08
BootStrap 智能表單實戰(zhàn)系列(五) 表單依賴插件處理
這篇文章主要介紹了BootStrap 智能表單實戰(zhàn)系列(五) 表單依賴插件處理 的相關(guān)資料,比較簡單,主要介紹生產(chǎn)表單元素后的一些后續(xù)處理操作,非常不錯具有參考借鑒價值,感興趣的朋友一起看看吧2016-06-06

