JavaScript ES6中的var、let、const
const 常量
let 變量,塊作用域,不能重複聲明覆蓋
var 變量,函數作用域,能重複聲明覆蓋
- var:聲明全局變量,換句話理解就是,聲明在for循環中的變量,跳出for循環同樣可以使用。
for(var i=0;i<=1000;i++){
var sum=0;
sum+=i;
}
alert(sum);
聲明在for循環內部的sum,跳出for循環一樣可以使用,不會報錯正常彈出結果
- let:聲明塊級變量,即局部變量。
在上面的例子中,跳出for循環,再使用sum變量就會報錯
'use strict';
(function() {
var varTest = 'test var OK.';
let letTest = 'test let OK.';
{
var varTest = 'varTest changed.';
let letTest = 'letTest changed.';
}
console.log(varTest); //輸出"varTest changed.",內部"{}"中聲明的varTest變量覆蓋外部的letTest聲明
console.log(letTest); //輸出"test let OK.",內部"{}"中聲明的letTest和外部的letTest不是同一個變量
}());
注意:必須聲明'use strict';後才能使用let聲明變量否則瀏覽並不能顯示結果
- const:用於聲明常量,也具有塊級作用域
const PI=3.14;