
一、let 和const
1.let 只在自己声明的块作用域中有效;
function test(){
let a = 'a';
var b = 'b';
for(let i =1;i<3;i++){
console.log(i); //正常 1.2
}
console.log(a,b); //正常 a,b
console.log(i); //错误,找不到,{}之外了,错误。报 ReferenceError错误(es6是强制开启es6的)
}
test();
2.let 不能重复声明一个变量 如 let a =1;let a =2;报错
3.const 常量不能修改
function last(){
const PI = 3.1415926;
PI = 8; //报错
console.log(PI);
}
last();
4.const 声明的时候必须赋值
function last(){
const PI ;
PI = 8;
console.log(PI); //报错 Cannot find module
}
last();
5.const 做声明为对象可以修改
function last(){
const PI = 3.141926;
const k = {
a:1
}
k.b = 3;
console.log(PI,k);
}
last();