ホームページ >ウェブフロントエンド >jsチュートリアル >jQueryのforループでのvarとletの使い方を詳しく解説

jQueryのforループでのvarとletの使い方を詳しく解説

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-23 11:11:142866ブラウズ

今回は、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 リクエスト後の

コールバック関数

では、rs[i] がエラーを報告します。

解決策: 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。