var、let、const的区别

242 阅读1分钟

var、let、const关键字都是用来声明变量

var:在函数外部声明就是全局作用域;变量声明时 var 关键字省略自动为全局作用域;在函数内部使用 var 关键字声明变量,在函数内部都可以访问到该变量;变量可以先声明再赋值,赋值后也可以被修改;var 声明变量该变量声明会提升,指无论 var 出现在这个作用域哪个位置,这个声明都属于当前的整个作用域,在其中到处都可以访问到。只有变量声明会提升,值不会提升。

let:块级作用域,定义一个变量,变量不能重复声明;变量只能在自己的块级作用域内部被调用;变量声明不会提升

const:块级作用域,变量声明后值不能被修改,变量的声明的同时应该附初始值,变量具有唯一性;如果声明的变量是一个对象,其内部其他内容可以被改变。 const 声明创建一个值的只读引用。但这并不意味着它所持有的值是不可变的,只是变量标识符不能重新分配;变量声明不会提升