只有使用var宣告的才是真正的變數
本章節這裡只是澄清一個問題,那就是在javascript中,只有使用var宣告的變數才是真正的變數。
在很多教程中,都有下面類似的闡述,那就是:
[JavaScript] 純文字檢視 複製程式碼不使用var宣告的變數是全域性變數
上面的闡述是錯誤的,即使看起來沒有任何錯誤,看如下程式碼例項:
[JavaScript] 純文字檢視 複製程式碼function func() { antzone = "螞蟻部落"; } func(); console.log(antzone);
上面程式碼的表現,貌似符合"不使用var宣告的變數是全域性變數"這個理論。
但是這是不符合規範的,按照規範,只有使用var宣告的變數才是真正的變數,否則就是給全域性物件新增一個屬性。
看如下程式碼例項:
[JavaScript] 純文字檢視 複製程式碼console.log(a); console.log(b); b = 10; var a = 20;
從上面的程式碼可以看出,其實兩者並不是一回事。
相關文章
- 使用var和不使用var宣告變數的區別變數
- 變數宣告帶var與不帶var的區別變數
- var與let宣告變數的區別變數
- js宣告變數帶var和不帶var的區別JS變數
- var、let、const宣告變數的區別變數
- JavaScript變數宣告帶var與不帶var區別JavaScript變數
- var、let、const變數宣告的區別及特點變數
- var與ES6中const、let宣告的變數的區別變數
- SCSS 變數的宣告CSS變數
- go語言 變數的宣告與使用Go變數
- 變數和函式宣告提升,let和var const區別變數函式
- 宣告變數的問題變數
- Mysql變數宣告的方式MySql變數
- python的變數使用前需宣告嘛Python變數
- 不思考才是真正的危機
- 誰才是真正的資深開發者?
- TypeScript 變數宣告TypeScript變數
- JavaScript 宣告變數JavaScript變數
- 提升的函式宣告會覆蓋同名變數宣告函式變數
- 變數沒有宣告的錯誤變數
- maven的外掛才是真正的執行者Maven
- 這才是真正的 Git——分支合併Git
- var_dump-列印變數的相關資訊變數
- javascript變數的宣告以及命名規則JavaScript變數
- Java變數的宣告和初始化Java變數
- JS變數宣告和函式宣告提升JS變數函式
- CSS Var 自定義屬性中使用 Scss 變數CSS變數
- JavaScript全域性作用域下,變數加var和不加var的區別。JavaScript變數
- go語言變數的宣告與賦值Go變數賦值
- C++與Rust變數宣告的比較C++Rust變數
- javascript變數的宣告預編譯期間JavaScript變數編譯
- js宣告全域性變數JS變數
- 什麼才是真正的空間複雜度?複雜度
- Less tips:宣告變數之前可以引用變數!變數
- 深入解析JS變數宣告和函式宣告提升JS變數函式
- 淺談JS變數宣告和函式宣告提升JS變數函式
- 1.變數:var,let,const變數
- [C++]變數宣告與定義的規則C++變數