Heim  >  Artikel  >  Web-Frontend  >  Einfache Anwendung von JavaScript-Abschlussbeispielen

Einfache Anwendung von JavaScript-Abschlussbeispielen

巴扎黑
巴扎黑Original
2017-09-02 13:50:281632Durchsuche

In diesem Artikel wird hauptsächlich die einfache Anwendung von JavaScript-Verschlüssen im Detail vorgestellt, die einen gewissen Referenzwert haben.

Verschlussdefinition

In JavaScript. Wenn eine innere Funktion von einer Variablen außerhalb ihrer äußeren Funktion referenziert wird, wird ein Abschluss gebildet. Einfach ausgedrückt ist ein Abschluss eine Funktion, die die internen Variablen anderer Funktionen lesen kann.

Die Funktionen des Abschlusses:

Sie können die Variablen innerhalb der Funktion lesen
2 Erinnerung. .
Einfache Anwendung des Verschlusses

Beispiel 1:


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

Beispiel 2:


(function() { 
var i = 0; 
 return function(){
   console.log(++i);
  }
})()();     //输出1

Beispiel drei:


(function(i) { 
 return function(){
   console.log(++i);
  }
})(0)();     //输出1

Beispiel vier:


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

Beispiel 5:


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 ,(两秒后运行程序结束)

Das obige ist der detaillierte Inhalt vonEinfache Anwendung von JavaScript-Abschlussbeispielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn