閉包定義
在JavaScript中,當一個內(nèi)部函數(shù)被其外部函數(shù)之外的變量引用時,就形成了一個閉包。簡單說,閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。
閉包的作用:
1. 可以讀取函數(shù)內(nèi)部的變量
2. 讓這些變量的值始終保持在內(nèi)存中。
閉包簡單應用
例一:
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(); //
例二:
(function() { var i = 0; return function(){ console.log(++i); } })()(); //
例三:
(function(i) { return function(){ console.log(++i); } })(0)(); //
例四:
for (var i = 0; i < 3; i++) { setTimeout((function(i) { return function() { console.log(i); }; })(i), 2000); console.log(i+10); } //
例五:
for (var i = 0; i < 3; i++) { setTimeout((function(i) { return function() { console.log(i); }; })(i)(), 2000); console.log(i+10); } //立即
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com