es6語法
es6新增命令
let
let 類似于 var 用來聲明變量 ,let 命令所在的 代碼塊內才生效
{
let a=10
var b=10
}
console.log(a) not defined
console.log(b) 10
let 只在它所在的代碼塊有效
for循環(huán) 適合let 命令 for(let i=0;i<10;i++){
}
console.log(i)
防止 變量污染 i 為not defined
變量提升問題
console.log(foo)輸出undefined
var foo=2;
console.log(bar)報錯
let bar =2
var a=[]
for(var i=0;i<10;i++){
a[i]=function(){
console.log(i)
}
}
a610
b=[]
for(let i=0;i<10;i++){
b[i]=function(){
console.log(i)
}
}
b6 6
for(let i=0;i<3;i++){
let i='abc'
console.log(i)
}
每個 聲明的i 都有自己 獨自的 作用域
let 的 塊級作用域 防止了 全局變量的 泄露
const
聲明一個只讀的量 不可改變
一旦聲明不可改變
const PI =3.1415
PI //3.1415
PI=3 報錯