JS閉包的幾種常見(jiàn)形式實(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
如何通過(guò)閉包突破全局作用域鏈——幾種常見(jiàn)形式
//通過(guò)閉包突破全局作用域鏈 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閉包的幾種常見(jiàn)形式 ,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
- 通俗易懂地解釋JS中的閉包
- JS繼承與閉包及JS實(shí)現(xiàn)繼承的三種方式
- 淺談JavaScript作用域和閉包
- JS實(shí)現(xiàn)閉包中的沙箱模式示例
- JavaScript閉包的簡(jiǎn)單應(yīng)用
- 通過(guò)示例徹底搞懂js閉包
- JavaScript閉包和回調(diào)詳解
- 淺談JS封閉函數(shù)、閉包、內(nèi)置對(duì)象
- JavaScript閉包_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- 深入理解Javascript中的作用域鏈和閉包
- JS閉包可被利用的常見(jiàn)場(chǎng)景小結(jié)
- 利用js的閉包原理做對(duì)象封裝及調(diào)用方法
- javascript閉包功能與用法實(shí)例分析
- JavaScript中閉包的詳解
- JS閉包用法實(shí)例分析
- 圖解Javascript——作用域、作用域鏈、閉包
- 輕松理解JavaScript閉包
- js中的閉包學(xué)習(xí)心得
相關(guān)文章
JS中Iframe之間傳值及子頁(yè)面與父頁(yè)面應(yīng)用
用iframe做系統(tǒng)框架,相信很多朋友都有這樣的經(jīng)歷吧,接下來(lái)將為你詳細(xì)介紹下JS中Iframe之間傳值應(yīng)用,感興趣的你可以參考下哈,希望可以幫助到你2013-03-03javascript 鍵盤(pán)事件總結(jié) 推薦
在進(jìn)入正題前,我們看一下瀏覽器對(duì)于鍵盤(pán)的一些默認(rèn)事件,這有助于我們用javascript截獲鍵盤(pán)事件。2009-12-12js console.log打印對(duì)像與數(shù)組用法詳解
這篇文章主要介紹了js console.log打印對(duì)像與數(shù)組用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了js使用console.log實(shí)現(xiàn)打印對(duì)象與數(shù)組的具體實(shí)現(xiàn)步驟與相關(guān)技巧,需要的朋友可以參考下2016-01-01uniapp開(kāi)發(fā)小程序?qū)崿F(xiàn)全局懸浮按鈕的代碼
這篇文章主要介紹了uniapp開(kāi)發(fā)小程序如何實(shí)現(xiàn)全局懸浮按鈕,但是在uniapp中式?jīng)]有window對(duì)象,和dom元素的,需要獲取頁(yè)面上節(jié)點(diǎn)的幾何信息,具體實(shí)例代碼詳細(xì)跟隨小編一起看看吧2022-03-03動(dòng)態(tài)生成的IFRAME,設(shè)置SRC時(shí)的,不同位置帶來(lái)的影響
動(dòng)態(tài)生成的IFRAME,設(shè)置SRC時(shí)的,不同位置帶來(lái)的影響。 以下所說(shuō)的是在IE7下運(yùn)行的。IE6下也是同樣。 在這個(gè)blog中,直接點(diǎn)擊運(yùn)行代碼,和把下面代碼保存到為網(wǎng)頁(yè)在運(yùn)行(以本地文件或域名訪(fǎng)問(wè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簡(jiǎn)單介紹JavaScript數(shù)據(jù)類(lèi)型之隱式類(lèi)型轉(zhuǎn)換
這篇文章主要介紹了簡(jiǎn)單介紹JavaScript數(shù)據(jù)類(lèi)型之隱式類(lèi)型轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下2015-12-12Javascript別踩白塊兒(鋼琴塊兒)小游戲?qū)崿F(xiàn)代碼
游戲唯一的一個(gè)規(guī)則,我們只需要不斷踩著黑色方塊前進(jìn)即可,這里根據(jù)方向鍵來(lái)踩白塊,在規(guī)定的時(shí)間內(nèi),每走一次分?jǐn)?shù)加100.下面通過(guò)本文給大家分享Javascript別踩白塊兒(鋼琴塊兒)小游戲?qū)崿F(xiàn)代碼,一起看看吧2017-07-07