首頁 web前端 js教程 怎麼使用for迴圈var與let

怎麼使用for迴圈var與let

Jun 06, 2018 pm 05:45 PM
for let var

這次帶給大家怎麼使用for循環var與let,使用for循環var與let的注意事項有哪些,以下就是實戰案例,一起來看一下。

      在用AJAX發送請求中又嵌套了一個AJAX請求,發現在內層請求的success中對第一次success中的循環變數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]) //报错
          }
        })
      }
    }
  })
登入後複製

  在第二次的ajax請求後的回呼函數中,rs[i]是會報錯的。

  解決方案:

#    將for循環中宣告變數var i 改為let i

  具體原因:

  是第一次回呼函數後的for迴圈中,如果你再次發送請求,for迴圈並不會停止,即使你寫了同步請求也不行。

  但是如果你在宣告for循環變數使用let後,程式碼會直到你請求完畢,回呼函數執行完畢後,再進行下一次的迴圈。

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

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

  var i 會以全域變數的形式傳遞

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

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

怎麼使用Angular開啟Font-Awesome

vue-cli3.0增加了哪些新特效

#

以上是怎麼使用for迴圈var與let的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

解決kernel_security_check_failure藍色畫面的17種方法 解決kernel_security_check_failure藍色畫面的17種方法 Feb 12, 2024 pm 08:51 PM

Kernelsecuritycheckfailure(內核檢查失敗)就是一個比較常見的停止代碼類型,可藍屏錯誤出現不管是什麼原因都讓很多的有用戶們十分的苦惱,下面就讓本站來為用戶們來仔細的介紹一下17種解決方法吧。 kernel_security_check_failure藍色畫面的17種解決方法方法1:移除全部外部裝置當您使用的任何外部裝置與您的Windows版本不相容時,則可能會發生Kernelsecuritycheckfailure藍色畫面錯誤。為此,您需要在嘗試重新啟動電腦之前拔下全部外部裝置。

Win10如何解除安裝Skype for Business?電腦上的skype怎麼徹底卸載方法 Win10如何解除安裝Skype for Business?電腦上的skype怎麼徹底卸載方法 Feb 13, 2024 pm 12:30 PM

Win10skype可以卸載嗎是許多用戶都想知道的問題,因為很多的用戶發現自己電腦上的預設程式上有這個應用,擔心刪除後會影響到系統的運行,下面就讓本站來為用戶們來仔細的介紹一下Win10如何卸載SkypeforBusiness吧。 Win10如何解除安裝SkypeforBusiness1、在電腦桌面點選Windows圖標,再點選設定圖示進入。 2、點選“應用”。 3、在搜尋框中輸入“Skype”,點選選取找到的結果。 4、點選「卸載」。 5

JavaScript怎麼用for求n的階乘 JavaScript怎麼用for求n的階乘 Dec 08, 2021 pm 06:04 PM

用for求n階乘的方法:1.使用「for (var i=1;i<=n;i++){}」語句控制迴圈遍歷範圍為「1~n」;2、迴圈體中,使用「cj *=i」將1到n的數相乘,乘積賦值給變數cj;3、循環結束後,變數cj的值就n的階乘,輸出即可。

一起聊聊var、let以及const的差異(程式碼範例) 一起聊聊var、let以及const的差異(程式碼範例) Jan 06, 2023 pm 04:25 PM

這篇文章為大家帶來了關於JavaScript的相關知識,其中主要為大家介紹了var、let以及const的區別有哪些,還有ECMAScript 和JavaScript的關係介紹,有興趣的朋友一起來看一下吧,希望對大家有幫助。

在 Windows 11 上修復音訊服務無回應問題的 18 種方法 在 Windows 11 上修復音訊服務無回應問題的 18 種方法 Jun 05, 2023 pm 10:23 PM

音訊輸出和輸入需要特定的驅動程式和服務才能在Windows11上按預期工作。這些有時最終會在後台遇到錯誤,從而導致音訊問題,如無音訊輸出、缺少音訊設備、音訊失真等。如何修復在Windows11上沒有回應的音訊服務我們建議您從下面提到的修復開始,並逐步完成列表,直到您設法解決您的問題。由於Windows11上的多種原因,音訊服務可能無法回應。此清單將幫助您驗證和修復阻止音訊服務在Windows11上回應的大多數問題。請按照以下相關部分幫助您完成流程。方法一:重啟音訊服務您可能會遇

foreach和for迴圈的差別是什麼 foreach和for迴圈的差別是什麼 Jan 05, 2023 pm 04:26 PM

區別:1、for透過索引來循環遍歷每一個資料元素,而forEach透過JS底層程式來循環遍歷數組的資料元素;2、for可以透過break關鍵字來終止迴圈的執行,而forEach不可以;3、 for可以透過控制迴圈變數的數值來控制迴圈的執行,而forEach不行;4、for在迴圈外可以呼叫迴圈變量,而forEach在迴圈外不能呼叫迴圈變數;5、for的執行效率要高於forEach。

PHP中var關鍵字的作用與範例 PHP中var關鍵字的作用與範例 Jun 28, 2023 pm 08:58 PM

PHP中var關鍵字的作用和範例在PHP中,var關鍵字用來聲明一個變數。在先前的PHP版本中,使用var關鍵字是宣告成員變數的慣用方式,現在不再建議使用。然而,在某些情況下,var關鍵字依然會被使用。 var關鍵字主要用於宣告一個局部變量,並且會自動將該變數標記為局部作用域。這意味著該變數僅在當前的程式碼區塊中可見,並且不能在其他函數或程式碼區塊中存取。使用var

let、var和const的區別與特點:它們分別代表什麼意義? let、var和const的區別與特點:它們分別代表什麼意義? Feb 23, 2024 pm 12:36 PM

let、var和const的區別與特點:它們分別代表什麼意義?在JavaScript中,let、var和const是用於宣告變數的關鍵字。它們各自有不同的差異和特徵。 let:let關鍵字是ES6引入的,它允許我們宣告一個區塊級作用域的變數。區塊級作用域是指變數只在宣告的區塊中可見,而不會被提升至函數作用域。範例程式碼:functionexampleFunctio

See all articles