首頁  >  文章  >  web前端  >  JavaScript閉包實例的簡單應用

JavaScript閉包實例的簡單應用

巴扎黑
巴扎黑原創
2017-09-02 13:50:281642瀏覽

這篇文章主要為大家詳細介紹了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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn