var定义的变量,可以预解析提前调用的结果是undefined,let定义的变量不能预解析,提前调用的结果是 报错。
var定义的变量,变量名称可以重复,效果是重复赋值,let定义的变量不能重复,否则执行报错。
var定义的变量作用域是全局/局部作用域。let定义的变量如果在{}中只能在{}中调用。
在循环语句中var定义的循环变量和使用let定义的循环变量。执行原理和执行效果不同。
var定义的变量,可以预解析提前调用的结果是undefined,const定义的变量不能预解析,提前调用的结果是 报错。
var定义的变量,变量名称可以重复,效果是重复赋值,const定义的变量不能重复,否则执行报错。
var定义的变量作用域是全局/局部作用域。let定义的变量如果在{}中只能在{}中调用。
const 定义的变量存储的数据数值不能改变,也就是const定义的变量,不能重复赋值
const定义的变量不能重复赋值,但在复杂数据类型中可以。
总之:1、let和const的相同点:
① 只在声明所在的块级作用域内有效。
② 不提升,同时存在暂时性死区,只能在声明的位置后面使用。
③ 不可重复声明。
2、let和const的不同点:
① let声明的变量可以改变,值和类型都可以改变;const声明的常量不可以改变,这意味着,const一旦声明,就必须立即初始化,不能以后再赋值。
{
var h = 2;
let q = 50;
console.log(h);//2
console.log(q);//50
}
console.log(q);//q is not definedat 1.html:17:17
const同理
本文详细介绍了JavaScript中var、let和const三种变量声明方式的区别。var变量可预解析,允许重复声明,作用域为全局或局部;let和const在块级作用域内有效,不提升且不允许重复声明。let变量可重新赋值,const一旦初始化后其值不可变。在循环中,var可能导致变量污染,而let和const则避免了这个问题。总结了let和const的共同点与不同点,并通过实例展示了它们的执行效果。
1万+

被折叠的 条评论
为什么被折叠?



