JavaScript 變數

變數是指向識別符的字面值,因此您可以在程序中引用並使用它。了解如何使用 JavaScript 声明一个变量。 JavaScript 變數介紹 使用 var 使用 let 使用 const JavaScript 變數介紹 變數是指向識別符的字面值,因此您可以在程序中引用並使用它。 JavaScript 中的變數沒有任何附加的類型。一旦您將特定的字面值類型分配給變量,您可以稍後將變量重新分配給任何其他類型,而不會出現類型錯誤或任何問題。 這就是為什麼有時會將 JavaScript 稱為“未命名”的原因。 在使用變量之前,必須先聲明變量。有三種方式可以實現這一點,使用 var,let 或 const,而這三種方式在稍後與變量互動方面有所不同。 使用 var 在 ES2015 之前,var 是定義變量的唯一構造。 var a = 0 如果忘記添加 var,就會將值分配給未聲明的變量,結果可能會有所不同。 在開啟嚴格模式的現代環境中,您將收到一個錯誤。在較舊的環境中(或在未開啟嚴格模式的情況下),這將初始化該變量並將其分配給全局對象。 如果在聲明變量時未初始化該變量,則該變量將具有 undefined 的值,直到您將值分配給它。 var a //typeof a === 'undefined' 您可以多次重新聲明變量以覆蓋它: var a = 1 var a = 2 您也可以在同一語句中同時聲明多個變量: var a = 1, b = 2 作用域是變量可見的代碼部分。 使用 var 在任何函數外部初始化的變量將被分配給全局對象,具有全局作用域並且在任何地方都可見。使用 var 在函數內部初始化的變量將分配給該函數,具有局部作用域並且僅在其中可見,就像函數參數一樣。 在具有相同名稱的全局變量的函數中定義的任何變量將優先於全局變量,遮蔽它。 重要的是要理解,塊(由一對花括號識別)不定義新的作用域。只有在創建函數時才會創建新的作用域,因為 var 沒有塊作用域,而是函數作用域。...

javascript-difference-let-var

#JavaScript 中使用 let 和 var 有什麼區別? 何時應該使用 let 而不是 var?為什麼?讓我們一起找出答案! 在現代 JavaScript 中,我們有三種方式來聲明變量並賦值: const let var 在使用 JavaScript 中的變量時,我總是默認使用 const。它確保變量的值無法重新賦值,因此更安全使用。 但在需要稍後重新聲明變量時,我總是使用 let。 多年來我一直沒有使用 var,對我來說它只是為了保持向後兼容性而存在,當我看到有人使用它時,我總是會感到疑惑。 為什麼呢? 首先,let 具有合理的作用域。 在幾乎所有流行的編程語言中都使用的塊作用域,它指定使用 let 聲明的變量作用域為最接近的塊。 相反,var 更奇怪,因為它具有函數作用域,這意味著使用 var 聲明的變量作用域限制在最接近的函數內。 這對實際應用有影響。例如,在 if 語句內聲明一個變量或將變量用作 for 循環的迭代器。使用 let 使該變量僅在這兩個塊內有效。然而,使用 var 則允許該變量在該塊之外也可用,這可能導致錯誤。 總是使用功能最少的工具,以確保對其擁有最大的控制。 追求極大的力量就需要承擔極大的責任。 喜歡使用 let 的另一個原因是變量提升。與 const 一樣,let 變量不具有變量提升,但在評估時會進行初始化。 相反,var 變量會被提升到函數的頂部,因此即使在其聲明之前的行中也可以使用它們。這很奇怪,對吧? 第三個原因:當您聲明一個已經存在的 let 變量時,您會收到一個錯誤(在 嚴格模式 下)。 最後,另一個重要的區別是:如果您在任何函數之外聲明一個 var 變量,它將被分配給全局對象(在瀏覽器內部為 window)。let 不會以此方式工作;該變量是可用的,但不附加到全局對象,因此無法從文件外部訪問。