Maison >interface Web >js tutoriel >Application simple d'exemples de fermeture JavaScript

Application simple d'exemples de fermeture JavaScript

巴扎黑
巴扎黑original
2017-09-02 13:50:281679parcourir

Cet article présente principalement en détail l'application simple des fermetures JavaScript, qui a une certaine valeur de référence. Les amis intéressés peuvent se référer à la

définition de fermeture

En JavaScript, lorsqu'une fonction interne est référencée par une variable en dehors de sa fonction externe, une fermeture est formée. En termes simples, une fermeture est une fonction qui peut lire les variables internes d'autres fonctions.

Les fonctions de fermeture :

1 Vous pouvez lire les variables à l'intérieur de la fonction
2. mémoire. .
Application simple de fermeture

Exemple 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

Exemple 2 :


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

Exemple trois :


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

Exemple quatre :


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

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn