javascript - Comment implémenter les fermetures ES5 avec ES6
三叔
三叔 2017-06-30 09:59:41
0
6
961

Comment implémenter le code suivant à l'aide d'es6 let,

for(var i = 0; i < 3;i++) {
    (function(j){
        $.ajax({
            url: 'xxx',
            success: function(){
                console.log(j);
            }
        })(i);
    })
}
三叔
三叔

répondre à tous(6)
给我你的怀抱
for(let i = 0; i < 3;i++) {
        $.ajax({
            url: 'xxx',
            success: function(){
                console.log(i);
            };
        });
}
我想大声告诉你

Ce que la personne qui pose la question veut demander concerne ES6怎么解决i不是当前的i`, n'est-ce pas ?

à ES5中是使用闭包来解决的,在ES6中可以用let

for(let i = 0; i < 3;i++) {
    $.ajax({
        url: 'xxx',
        success: function(){
            console.log(i);
        }
    });
}
学习ing

C'est pareil avec ES6, les fermetures restent des fermetures.

世界只因有你

Mettre var 换成 let

for(let i = 0; i < 3;i++) {
    $.ajax({
        url: 'xxx',
        success: function(){
            console.log(j);
        }
    })
}

Le test est le suivant (utilisez setTimeout pour simuler des requêtes asynchrones) :

for(var i = 0; i < 3;i++) {
  setTimeout(function(){
    console.log(i)
  }, 123)
}

Imprimer 3 3

ES5 est résolu avec fermeture

for(var i = 0; i < 3;i++) {
  (function(i) {
    setTimeout(function(){
      console.log(i)
    }, 123)
  })(i)
}

es6 est facile avec let

for(let i = 0; i < 3;i++) {
  setTimeout(function(){
    console.log(i)
  }, 123)
}

let Vous permet de déclarer une variable, une instruction ou une expression dont la portée est limitée au niveau du bloc

阿神

J'ai aussi trouvé la réponse, ES6 peut supprimer directement les fermetures

for(let i = 0; i < 3;i++) {
    $.ajax({
        url: 'xxx',
        success: function(){
            console.log(i);
        }
    });
}

Le résultat est le même qu'en utilisant la fermeture, merci à tous

Ty80

Ce n'est absolument pas nécessaire dans ES6, laissez faire
http://www.softwhy.com/articl...

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal