JavaScript中var、let以及const的区别

JavaScript中有三种声明变量的方法,分别是var、let、const。

简单的对三种声明变量的方法做一下区分:

声明方式 不初始化变量的值 声明后是否可以修改值 作用域 声明提升 是否可以重复声明 全局声明中是否会成为window对象属性 是否可以条件声明 是否可以声明为迭代变量 是否会渗透到循环体外 var undefined 可以 函数局部变量 会在函数作用域顶部进行变量声明 可以 会 可以 不可以(退出循环时,迭代变量保存的是导致循环退出的值) 是 let undefined 可以 块作用域 不会被提升 不可以(不同块中可以) 不会 不可以(因为是块作用域) 可以 否 const 必须初始化 不可以(对象内部属性除外) 块作用域 不会被提升 不可以(不同块中可以) 不会 不可以(因为是块作用域) 不可以(声明完后不可修改) 否

总结:尽量不使用var来声明变量,优先使用const来声明变量,如果确认声明的变量要修改使用let来声明变量。

经验分享 程序员 微信小程序 职场和发展