最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

jQuery中的for循環(huán)var與let的區(qū)別

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:16:12
文檔

jQuery中的for循環(huán)var與let的區(qū)別

jQuery中的for循環(huán)var與let的區(qū)別:今天在寫jQuery請求接口中發(fā)現(xiàn)一個問題: 在用AJAX發(fā)送請求中又嵌套了一個AJAX請求,發(fā)現(xiàn)在內(nèi)層請求的success中對第一次success中的循環(huán)變量 i 無法獲取,具體代碼如下: $.ajax({ type: get, url: //////////////////////
推薦度:
導讀jQuery中的for循環(huán)var與let的區(qū)別:今天在寫jQuery請求接口中發(fā)現(xiàn)一個問題: 在用AJAX發(fā)送請求中又嵌套了一個AJAX請求,發(fā)現(xiàn)在內(nèi)層請求的success中對第一次success中的循環(huán)變量 i 無法獲取,具體代碼如下: $.ajax({ type: get, url: //////////////////////

今天在寫jQuery請求接口中發(fā)現(xiàn)一個問題:

      在用AJAX發(fā)送請求中又嵌套了一個AJAX請求,發(fā)現(xiàn)在內(nèi)層請求的success中對第一次success中的循環(huán)變量 i 無法獲取,具體代碼如下:

$.ajax({
 type: "get",
 url: "http://////////////////////////",
 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: "http:///////////////////////////////////",
 success: function (result) {
 console.log(rs[i]) //報錯
 }
 })
 }
 }
 }) 

  在第二次的ajax請求后的回調(diào)函數(shù)中,rs[i]是會報錯的。

  解決方案:

    將for循環(huán)中聲明變量var i 更改為let i

  具體原因:

  是第一次回調(diào)函數(shù)后的for循環(huán)中,如果你再次發(fā)送請求,for循環(huán)并不會停止,即使你寫了同步請求也不行。

  但是如果你在聲明for循環(huán)變量用let后,代碼會直到你請求完畢,回調(diào)函數(shù)執(zhí)行完畢后,再進行下一次的循環(huán)。

  這就考慮到了一個閉包的問題,如果你寫var和let聲明的作用域不同。

  let i 會以局部變量的形式傳遞

  var i 會以全局變量的形式傳遞

  如果要想將 i 變量傳遞給下一層,要使用let 去聲明。

總結(jié)

以上所述是小編給大家介紹的jQuery中的for循環(huán)var與let的區(qū)別 ,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

jQuery中的for循環(huán)var與let的區(qū)別

jQuery中的for循環(huán)var與let的區(qū)別:今天在寫jQuery請求接口中發(fā)現(xiàn)一個問題: 在用AJAX發(fā)送請求中又嵌套了一個AJAX請求,發(fā)現(xiàn)在內(nèi)層請求的success中對第一次success中的循環(huán)變量 i 無法獲取,具體代碼如下: $.ajax({ type: get, url: //////////////////////
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top