JS閉包的幾種常見形式實(shí)例詳解
作用域鏈:
//作用域鏈 var a = 1; function test() { var b =2; return a; } alert(test());//彈出1; alert(b);//不能獲取b //scope chain var a = 1; function test() { var b = 2; function test1() { var c = 3; alert(a); alert(b); alert(c); } test1(); } test();//彈出1,彈出2,彈出3;
詞法作用域:
//詞法作用域; function f1() { var a = 12; return f2(); } function f2() { return a; } alert(f1());//并不能獲取a,a在f2()中并未定義; function f1() { var a = 1; return f2(); } function f2() { var b = 3; alert(b); return a; } alert(f1());//彈出3,a在f2()中未定義 function f1() { var a = 1; return f2(); } function f2() { var b = 3; alert(b); return a; } alert(f1());//彈出3,a在f2()中未定義,undefined var a=55; alert(f1());//彈出3,彈出55
如何通過閉包突破全局作用域鏈——幾種常見形式
//通過閉包突破全局作用域鏈 function f() { var a = "sun"; return function () { return a; } } var test = f(); alert(test());//彈出sun var n; function f() { var a = "sun"; n = function () { return a; } } f(); alert(n());//彈出sun function f(param) { var n =function () { return param; }; param++; return n; } var test = f(45); alert(test());//彈出46;
總結(jié)
以上所述是小編給大家介紹的JS閉包的幾種常見形式 ,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
- 通俗易懂地解釋JS中的閉包
- JS繼承與閉包及JS實(shí)現(xiàn)繼承的三種方式
- 淺談JavaScript作用域和閉包
- JS實(shí)現(xiàn)閉包中的沙箱模式示例
- JavaScript閉包的簡單應(yīng)用
- 通過示例徹底搞懂js閉包
- JavaScript閉包和回調(diào)詳解
- 淺談JS封閉函數(shù)、閉包、內(nèi)置對象
- JavaScript閉包_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- 深入理解Javascript中的作用域鏈和閉包
- JS閉包可被利用的常見場景小結(jié)
- 利用js的閉包原理做對象封裝及調(diào)用方法
- javascript閉包功能與用法實(shí)例分析
- JavaScript中閉包的詳解
- JS閉包用法實(shí)例分析
- 圖解Javascript——作用域、作用域鏈、閉包
- 輕松理解JavaScript閉包
- js中的閉包學(xué)習(xí)心得
相關(guān)文章
js console.log打印對像與數(shù)組用法詳解
這篇文章主要介紹了js console.log打印對像與數(shù)組用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了js使用console.log實(shí)現(xiàn)打印對象與數(shù)組的具體實(shí)現(xiàn)步驟與相關(guān)技巧,需要的朋友可以參考下2016-01-01uniapp開發(fā)小程序?qū)崿F(xiàn)全局懸浮按鈕的代碼
這篇文章主要介紹了uniapp開發(fā)小程序如何實(shí)現(xiàn)全局懸浮按鈕,但是在uniapp中式?jīng)]有window對象,和dom元素的,需要獲取頁面上節(jié)點(diǎn)的幾何信息,具體實(shí)例代碼詳細(xì)跟隨小編一起看看吧2022-03-03動(dòng)態(tài)生成的IFRAME,設(shè)置SRC時(shí)的,不同位置帶來的影響
動(dòng)態(tài)生成的IFRAME,設(shè)置SRC時(shí)的,不同位置帶來的影響。 以下所說的是在IE7下運(yùn)行的。IE6下也是同樣。 在這個(gè)blog中,直接點(diǎn)擊運(yùn)行代碼,和把下面代碼保存到為網(wǎng)頁在運(yùn)行(以本地文件或域名訪問),效果不一樣。2008-03-03javascript實(shí)現(xiàn)的時(shí)間格式加8小時(shí)功能示例
這篇文章主要介紹了javascript實(shí)現(xiàn)的時(shí)間格式加8小時(shí)功能,涉及javascript日期時(shí)間轉(zhuǎn)換與運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2019-06-06簡單介紹JavaScript數(shù)據(jù)類型之隱式類型轉(zhuǎn)換
這篇文章主要介紹了簡單介紹JavaScript數(shù)據(jù)類型之隱式類型轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下2015-12-12Javascript別踩白塊兒(鋼琴塊兒)小游戲?qū)崿F(xiàn)代碼
游戲唯一的一個(gè)規(guī)則,我們只需要不斷踩著黑色方塊前進(jìn)即可,這里根據(jù)方向鍵來踩白塊,在規(guī)定的時(shí)間內(nèi),每走一次分?jǐn)?shù)加100.下面通過本文給大家分享Javascript別踩白塊兒(鋼琴塊兒)小游戲?qū)崿F(xiàn)代碼,一起看看吧2017-07-07