ホームページ >ウェブフロントエンド >jsチュートリアル >jQueryのforループでのvarとletの使い方を詳しく解説
今回は、jQueryでのforループvarとletの使い方について詳しく説明します。jQueryのforループでvarとletを使用するときの注意点とは何ですか。実際のケースを見てみましょう。一見。えー、今日、jQuery リクエスト インターフェイスの記述で問題が見つかりました:
AJAX 送信リクエストの使用で Ajax リクエストがネストされており、内層リクエストの最初の成功のループ変数 I を取得できないことがわかりました。具体的なコードは次のとおりです。
$.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]) //报错 } }) } } })
2 番目の ajax リクエスト後の
コールバック関数解決策: for ループで宣言した変数 var i を変更してください。
具体的な理由:
最初のコールバック関数の後の for ループ内にあるため、再度リクエストを送信すると、 forループ 同期リクエストを書いても止まりません。
ただし、for ループ変数を宣言した後に let を使用すると、リクエストが完了してコールバック関数が実行されるまで、コードは次のループを開始しません。
これは、var 宣言と let 宣言を異なるスコープで記述する場合のクロージャの問題を考慮しています。
let i はローカル変数として渡されます
var i はグローバル変数として渡されます
i 変数を次の層に渡したい場合は、let を使って宣言します。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
jsインジェクションの使用方法の詳細な説明 JSの一般的なテクニックとは何ですか以上がjQueryのforループでのvarとletの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。