這篇文章主要為大家詳細介紹了JavaScript閉包的簡單應用,具有一定的參考價值,有興趣的小夥伴們可以參考一下
閉包定義
#在JavaScript中,當一個內部函數被其外部函數以外的變數引用時,就形成了一個閉包。簡單說,閉包就是能夠讀取其他函數內部變數的函數。
閉包的作用:
1. 可以讀取函數內部的變數
2. 讓這些變數的值始終保持在記憶體中。
閉包簡單應用
例一:
function a() { var i = 0; function b() { console.log(++i); } return b; } var c = a(); //执行完var c=a()后,变量c指向了函数b,再执行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 ,(两秒后运行程序结束)
以上是JavaScript閉包實例的簡單應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!