JavaScript 同時宣告多個變數並賦值
JavaScript變數宣告與賦值是極為簡單與基礎的操作。
也許學習程式設計第一節課就是會涉及到變數的宣告與賦值。
裡面涉及到一些平時不會引起注意,但是又比較重要的概念。
本文首先介紹如何同時宣告多個變數並賦值,然後引出一些問題進行分析。
首先看如下程式碼例項:
[JavaScript] 純文字檢視 複製程式碼let webName="螞蟻部落"; let address="青島市南區";
上面分別宣告兩個變數並賦值,下面將其改造成同時宣告並賦值:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let webName="螞蟻部落",address="青島市南區"; console.log(webName); console.log(address);
程式碼執行效果截圖如下:
宣告方式很簡單,變數之間用逗號分隔即可,上面同時宣告兩個變數,當然還可以更多。
上面都很好理解,需要注意的地方來了,看如下程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼(function(){ var a=b=5; })(); console.log(b);
請問上面用var宣告瞭幾個變數,可能不少初學者會回答宣告兩個變數a與b。
事實是錯誤的,程式碼分析如下:
(1).上述程式碼使用var只宣告瞭一個變數a。
(2).b並沒有使用var宣告,如果它也是用var宣告,那麼就無法列印出b的值,然而列印結果如下:
(3).可能很多朋友會說,不使用var宣告的是全域性變數,所以上面也算是同時宣告並賦值了兩個變數,其實這種說法從來都是錯誤的,只有利用var宣告的才是變數(暫且不考慮let),不使用var的b其實是全域性物件的一個屬性,也就是說為全域性物件新增了一個自定義屬性b並賦值,用如下程式碼可以證明它們之間的不同:
事實是錯誤的,程式碼分析如下:
(1).上述程式碼使用var只宣告瞭一個變數a。
(2).b並沒有使用var宣告,如果它也是用var宣告,那麼就無法列印出b的值,然而列印結果如下:
(3).可能很多朋友會說,不使用var宣告的是全域性變數,所以上面也算是同時宣告並賦值了兩個變數,其實這種說法從來都是錯誤的,只有利用var宣告的才是變數(暫且不考慮let),不使用var的b其實是全域性物件的一個屬性,也就是說為全域性物件新增了一個自定義屬性b並賦值,用如下程式碼可以證明它們之間的不同:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var webName="螞蟻部落"; address="青島南區"; delete webName; delete address; console.log(webName); console.log(address);
程式碼執行效果截圖如下:
可以看到使用var宣告的變數沒有被刪除,不使用var的被刪除,所以程式碼會報錯。
由此可見,兩者是不同的,var宣告的是一個真正的變數,address只是window的一個自定義屬性。
相關閱讀:
(1).delete參閱JavaScript delete用法一章節。
(2).帶var與不帶var的區別參閱變數宣告帶var與不帶var的區別一章節。
(3).let參閱JavaScript let 命令一章節。
相關文章
- python同時給多個變數賦值Python變數賦值
- js如何判斷一個變數是否宣告並賦值JS變數賦值
- vue 變數賦值同時改變的問題Vue變數賦值
- js判斷一個變數是否已經宣告或者宣告未賦值JS變數賦值
- go語言變數的宣告與賦值Go變數賦值
- python 多變數賦值Python變數賦值
- javascript變數賦值或者重新賦值注意事項JavaScript變數賦值
- into賦予多個變數變數
- JavaScript 宣告變數JavaScript變數
- 數字索引賦值給多個變數簡單表示式索引賦值變數
- JavaScript兩個變數交換值(不使用臨時變數)JavaScript變數
- Java一行程式碼可宣告多個同類變數Java行程變數
- Kotlin 變數詳解:宣告、賦值與最佳實踐指南Kotlin變數賦值
- golang 快速入門 [8.1]-變數型別、宣告賦值、作用域宣告週期與變數記憶體分配Golang變數型別賦值記憶體
- Go:變數宣告的多種方法與預設值Go變數
- 在程式中定義多個同值不同名的變數變數
- javascript如何判斷一個變數是否宣告JavaScript變數
- 變數的賦值 指標間接賦值變數賦值指標
- 列表切片賦值給另一個變數賦值變數
- es6學習筆記整理(一)變數宣告、解構賦值筆記變數賦值
- javascript變數宣告需要注意的一個地方JavaScript變數
- Javascript 解構賦值,將屬性/值從物件/陣列中取出,賦值給其他變數JavaScript賦值物件陣列變數
- php之普通變數賦值、物件賦值、引用賦值的區別PHP變數賦值物件
- JavaScript ECMAScript 6 筆記 -2 《變數的解構賦值》JavaScript筆記變數賦值
- 變數的解構賦值變數賦值
- shell 變數賦值問題變數賦值
- shell變數命名與賦值變數賦值
- php變數賦值給jsPHP變數賦值JS
- JavaScript 變數與函式宣告前置JavaScript變數函式
- javascript變數宣告規則詳解JavaScript變數
- javascript變數宣告簡單介紹JavaScript變數
- ES6 變數宣告與賦值:值傳遞、淺拷貝與深拷貝詳解變數賦值
- **PHP二維陣列遍歷時同時賦值PHP陣列賦值
- PLSQL Language Reference-PL/SQL語言基礎-變數賦值-對BOOLEAN變數賦值SQL變數賦值Boolean
- 物件屬性值賦給變數物件變數
- 給物件引用變數賦值(轉)物件變數賦值
- javascript變數的宣告以及命名規則JavaScript變數
- javascript變數宣告提升簡單介紹JavaScript變數