JavaScript中var、let和const有什么区别
JavaScript中的var会造成变量穿透
演示代码
// An highlighted block
for (var i = 1 ; i < 5 ; i++){
console.log(i);
}
console.log("变量穿透 =>" + i);
浏览器效果
使用let就可以解决变量穿透:
代码:
//将var改为let即可
for (let i = 1 ; i < 5 ; i++){
console.log(i);
}
console.log("变量穿透 =>" + i);
浏览器效果
提示报错:
const 可以解决JavaScript没有常量的问题
演示代码
var a = 1;
a = 2;
console.log("var定义的变量可以被修改 =>" + a)
//const是用来定义常量的
const b = 1;
b = 2;//这里会报错,因为b是常量,所以不能被修改!
浏览器显示
修改const
定义的常量直接报错了!
总结:
因为JavaScript中直接用var来定义的为变量,如果需要定义一个变量就需要用到const
因为JavaScript中直接用var会造成变量穿透,如果需要解决这个问题就需要使用let