Heim  >  Artikel  >  Web-Frontend  >  Was sind die Unterschiede zwischen der Verwendung einer for-Schleife var und der Verwendung von let in jQuery?

Was sind die Unterschiede zwischen der Verwendung einer for-Schleife var und der Verwendung von let in jQuery?

php中世界最好的语言
php中世界最好的语言Original
2018-04-27 13:55:591779Durchsuche

Dieses Mal werde ich Ihnen die Unterschiede zwischen der Verwendung von for-Schleifevar und der Verwendung von let in jQuery sowie die HinweiseWas sind das? Hier sind praktische Fälle.

Heute habe ich ein Problem beim Schreiben der jQuery-Anfrageschnittstelle gefunden:

Beim Senden einer Anfrage mit AJAX wurde eine weitere AJAX-Anfrage verschachtelt und es wurde festgestellt, dass der Erfolg des ersten Erfolgs in der innere Anfrage Die Schleifenvariable i in kann nicht abgerufen werden. Der spezifische Code lautet wie folgt:

$.ajax({
    type: "get",
    url: "//////////////////////////",
    success: function (result) {
      rs = JSON.parse(result).data;
      for (var i = 0; i < rs.length; i++) { //用var定义有问题
        var pos_ = ""
        $.ajax({
          type: 'GET',
          async: false,
          dataType: 'jsonp',
          contentType: 'application/json; charset=utf-8',
          url: "///////////////////////////////////",
          success: function (result) {
            console.log(rs[i]) //报错
          }
        })
      }
    }
  })

In der Rückruffunktion meldet rs[i] nach der zweiten Ajax-Anfrage einen Fehler.

  Lösung:

Ändern Sie die in der for-Schleife deklarierte Variable var i in let i

Spezifischer Grund:

Es befindet sich in der for-Schleife nach der ersten Callback-Funktion. Wenn Sie eine Anfrage erneut senden, wird die for-Schleife nicht gestoppt, auch wenn Sie eine synchrone Anfrage schreiben.

Wenn Sie jedoch let nach der Deklaration der for-Schleifenvariablen verwenden, startet der Code die nächste Schleife erst, wenn Ihre Anfrage abgeschlossen und die Rückruffunktion ausgeführt ist.

Dies berücksichtigt ein Abschlussproblem, wenn Sie var- und let-Deklarationen in unterschiedlichen Gültigkeitsbereichen schreiben.

Let i wird als lokale Variable übergeben

var i wird als globale Variable übergeben

Wenn Sie die i-Variable an die nächste Ebene übergeben möchten, verwenden Sie erklären lassen.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

JS-Zusammenfassung der Zufallszahlenmethoden

Detaillierte Erläuterung der Schritte zur Verwendung des nodeJS-Moduls

Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen der Verwendung einer for-Schleife var und der Verwendung von let in jQuery?. 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