js中的let var const
文章类型:Javascript
发布者:hp
发布时间:2023-04-03
一:区别
1:let
允许你声明一个作用域被限制在块级中的变量、语句或者表达式,不受变量提升的约束,这意味着let声明不会被提升到当前
该变量处于从块开始到初始化处理的“暂存死区”,只在外层{}中调用
let a=123
2:var
声明变量的作用域限制在其声明位置的上下文中,而非声明变量总是全局的,解析前结果是undefined,变量可以重复,效果是重新赋值
由于变量声明(以及其他声明)总是在任意代码执行之前处理的,所以在代码中的任意位置声明变量总是等效于在代码开头声明
var b=456
3:const
声明创建一个值的只读引用 (即指针)
基本数据当值发生改变时,那么其对应的指针也将发生改变,故造成 const申明基本数据类型时,再将其值改变时,将会造成报错,不能重复赋值
但是如果是复合类型时,如果只改变复合类型的其中某个Value项时, 将还是正常使用
const PI=3.1415926
二:总结
1:尽量使用let,避免使用var导致的作用域问题以及值被覆盖情况
2:const用于常量,也可以用于对象,初始化后必须赋值