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函式變數
- ES6(二: 變數作用域)變數
- JavaScript中變數和作用域JavaScript變數
- ES6 變數作用域總結變數
- javascript中的作用域(全域性變數和區域性變數)JavaScript變數
- CSS變數的作用域和預設值CSS變數
- Python 函式和變數作用域Python函式變數
- 11-程式碼塊和變數的作用域變數
- 變數、作用域和記憶體問題變數記憶體
- 酒店房間和 C++ 區域性變數的作用域C++變數
- ES6 變數作用域與提升:變數的生命週期詳解變數
- 細談sass和less中的變數及其作用域變數
- 【ES6基礎】let和作用域
- JS變數宣告和函式宣告提升JS變數函式
- JS 底蘊之 變數、作用域和垃圾回收JS變數
- javascript:變數、作用域和記憶體問題JavaScript變數記憶體
- javascript變數、作用域和記憶體問題......JavaScript變數記憶體
- 全域性作用域中,用const和let宣告的變數去哪了?變數
- lisp 變數的作用域Lisp變數
- 【譯】終極指南:變數提升、作用域和閉包變數
- Java變數的宣告和初始化Java變數
- golang 快速入門 [8.1]-變數型別、宣告賦值、作用域宣告週期與變數記憶體分配Golang變數型別賦值記憶體
- JS變數作用域JS變數
- SCSS 變數作用域CSS變數
- golang變數作用域Golang變數
- 深入解析JS變數宣告和函式宣告提升JS變數函式
- 淺談JS變數宣告和函式宣告提升JS變數函式
- js的作用域和作用域鏈JS
- c+++變數宣告和定義C++變數
- java中變數的作用域Java變數
- vue-01-es6的基本語法、全域性和區域性變數和作用域、es5和es6的函式對比、自定義物件中封裝函式的寫法、vue使用、Vue指令系統的常用指令Vue變數函式物件封裝
- 《前端實戰總結》之變數提升,函式宣告提升及變數作用域詳解前端變數函式
- 第4章 變數、作用域和記憶體問題變數記憶體
- python變數與變數作用域Python變數
- C++ 煉氣期之變數的生命週期和作用域C++變數
- js 作用域和作用域鏈JS
- PL/SQL變數作用域SQL變數
- LoadRunner變數作用域變數