JavaScript閉包的簡單應(yīng)用
更新時間:2017年09月01日 10:35:55 作者:Mr.曹
這篇文章主要為大家詳細介紹了JavaScript閉包的簡單應(yīng)用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
閉包定義
在JavaScript中,當一個內(nèi)部函數(shù)被其外部函數(shù)之外的變量引用時,就形成了一個閉包。簡單說,閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。
閉包的作用:
1. 可以讀取函數(shù)內(nèi)部的變量
2. 讓這些變量的值始終保持在內(nèi)存中。
閉包簡單應(yīng)用
例一:
function a() { var i = 0; function b() { console.log(++i); } return b; } var c = a(); //執(zhí)行完var c=a()后,變量c指向了函數(shù)b,再執(zhí)行c()后就會顯示i的值(為1)。 c(); //輸出1
例二:
(function() { var i = 0; return function(){ console.log(++i); } })()(); //輸出1
例三:
(function(i) { return function(){ console.log(++i); } })(0)(); //輸出1
例四:
for (var i = 0; i < 3; i++) { setTimeout((function(i) { return function() { console.log(i); }; })(i), 2000); console.log(i+10); } //輸出 10 11 12 (隔兩秒后)0 1 2
例五:
for (var i = 0; i < 3; i++) { setTimeout((function(i) { return function() { console.log(i); }; })(i)(), 2000); console.log(i+10); } //立即輸出 0 10 1 11 2 12 ,(兩秒后運行程序結(jié)束)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
highcharts.js數(shù)據(jù)綁定方式代碼實例
這篇文章主要介紹了highcharts.js數(shù)據(jù)綁定方式代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下2019-11-11微信小程序開發(fā)數(shù)據(jù)緩存基礎(chǔ)知識辨析及運用實例詳解
這篇文章主要介紹了微信小程序開發(fā)數(shù)據(jù)緩存基礎(chǔ)知識辨析及運用實例詳解,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11electron打包dist為可執(zhí)行程序的實現(xiàn)步驟
這篇文章主要介紹了electron打包dist為可執(zhí)行程序的實現(xiàn)步驟,文中通過代碼示例和圖文講解的非常詳細,對大家的學(xué)習或工作有一定的幫助,需要的朋友可以參考下2024-04-04