es6和es5變數宣告和作用域的不同
下面通過程式碼例項介紹一下es6和es5變數宣告和作用域的不同。
在ES5中,宣告變數可以使用var也可以不適用var(非常不推薦)。
不適用var宣告的變數預設作用域是全域性作用域(嚴格模式下,會報錯)。
嚴格模式可以參閱javascript嚴格模式特性簡單介紹一章節。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼function ant() { var num = 0; count = 5; } ant(); console.log(num); console.log(count);
上面的程式碼中,num的作用域在函式內,所以外部無法訪問它;不使用var宣告的變數的作用域是全域性的。
在es6中新增了let和const來宣告變數和常量(可以認為是一種特殊的變數)
關於let和const的用法這裡不做介紹,具體可以參閱以下兩篇文章:
(1).let可以參閱ES2015 let命令一章節。
(2).const可以參閱ES2015 const一章節。
看完這兩篇文章,也就基本清楚和var的區別了。
相關文章
- JavaScript中變數和作用域JavaScript變數
- javascript中的作用域(全域性變數和區域性變數)JavaScript變數
- Python 函式和變數作用域Python函式變數
- ES6 變數作用域總結變數
- CSS變數的作用域和預設值CSS變數
- 11-程式碼塊和變數的作用域變數
- 全域性作用域中,用const和let宣告的變數去哪了?變數
- JS變數宣告和函式宣告提升JS變數函式
- 【ES6基礎】let和作用域
- JS 底蘊之 變數、作用域和垃圾回收JS變數
- javascript:變數、作用域和記憶體問題JavaScript變數記憶體
- 變數作用域變數
- Java變數的宣告和初始化Java變數
- 【譯】終極指南:變數提升、作用域和閉包變數
- js的作用域和作用域鏈JS
- golang 快速入門 [8.1]-變數型別、宣告賦值、作用域宣告週期與變數記憶體分配Golang變數型別賦值記憶體
- 淺談JS變數宣告和函式宣告提升JS變數函式
- 深入解析JS變數宣告和函式宣告提升JS變數函式
- Solidity語言學習筆記————25、作用域和宣告Solid筆記
- vue-01-es6的基本語法、全域性和區域性變數和作用域、es5和es6的函式對比、自定義物件中封裝函式的寫法、vue使用、Vue指令系統的常用指令Vue變數函式物件封裝
- c+++變數宣告和定義C++變數
- JS變數作用域JS變數
- SCSS 變數作用域CSS變數
- python變數與變數作用域Python變數
- 第4章 變數、作用域和記憶體問題變數記憶體
- java中變數的作用域Java變數
- JavaScript 變數的作用域鏈JavaScript變數
- 《前端實戰總結》之變數提升,函式宣告提升及變數作用域詳解前端變數函式
- es5和es6類的比較
- C++ 煉氣期之變數的生命週期和作用域C++變數
- ES5和ES6的類的繼承繼承
- C# 變數作用域C#變數
- JAVA基礎之八-方法變數作用域和編譯器Java變數編譯
- JS繼承es5和es6JS繼承
- es5繼承和es6類和繼承繼承
- JavaScript全域性作用域下,變數加var和不加var的區別。JavaScript變數
- Go語言中的變數作用域Go變數
- 現代 JavaScript 的變數作用域JavaScript變數
- Shell變數的作用域問題變數