新的聲明方式
ES6的三種聲明方式:
1.var:以前聲明變量使用的是var 糯彬,現(xiàn)在升級var(variable)是用來升級全局變量蝇刀。
2.let:聲明的是局部變量迫像。
3.const:聲明的是常量,可以理解為不變的值算吩。
var全局聲明
var b = 1;
{
var b = 2;
}
console.log(b); //2
</pre>
let局部說明
<pre>
var b=1;
{
let b=2
}
console.log(b); //1
</pre>
<pre>
{
let b=2
}
console.log(b); // b is not defined
如果只在區(qū)塊里聲明拓萌,不在外部聲明岁钓,打印b時就會報錯,顯示沒有定義變量微王。
let主要是防止你的數(shù)據(jù)污染的屡限。
用var聲明的循環(huán)
for(var i=0;i<10;i++){
console.log('我在里面'+i);
}
console.log('我在外面'+i); //10
在循環(huán)體外的的i變量被污染了,在外部在使用i就會出問題炕倘。
用let聲明的循環(huán)
for(let i=0;i<10;i++){
console.log('我在里面'+i);
}
console.log('我在外面'+i);
執(zhí)行時會發(fā)現(xiàn)報錯钧大,循環(huán)體外面的i沒有定義。
我們要習(xí)慣使用let聲明罩旋,減少var聲明去污染全局空間啊央。
const聲明常量
const a='zqq';
var a='zxt';
console.log(a);
在編譯代碼的過程中就報錯了,無法繼續(xù)編譯了涨醋。我們用const聲明的變量是不可改變的瓜饥。