- let和var的区别
function test(){
for (let i=1;i<3;i++) {//使用let涉及块级作用域,以大括号{}内的为一个块
console.log(i);
}
console.log(i);//使用let定义变量会报错,在块之外引用为声明的变量
}
test();
运行结果:
function test(){
for (var i=1;i<3;i++) {
console.log(i);
}
console.log(i);
}
test();
2.使用let定义时,不能重复定义一个变量
function test(){
let a=1;
let a=2;//使用let定义时,不能重复定义一个变量
}
test();
3.const的注意点(块级概念如同let)
function last(){
const PI=3.1415926;
// const PI;//const定义时候必须赋值
// PI=5;//const定义的常量不能改变
const k={
a:1
}
console.log(PI,k);
k.b=2;//对象可以增加属性,其指向的是内存栈中的指针,原本属性a指向的指针没变,新增的B属性指向另一个指针,对象可以变;常量则不行
console.log(PI);
}
last();
总结:let和const都不可以重复定义一个变量,都具有块作用域,const定义的常量不能改变。这部分可以讲的地方不多,大家可以自行上机代码运行一下,掌握更深刻,想深入了解也可以多查查这方面的。