面试题 var let const的区别
Posted syf976561581
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题 var let const的区别相关的知识,希望对你有一定的参考价值。
-
var声明变量存在变量提升,let和const不存在变量提升
什么是变量提升:
变量提升就是变量和函数的声明会跑到代码的最前面,但是实际 上变量和函数声明的位置并不会动,只是在编译过程中放入了内存之中.
-
let、const在{}定义的是块级作用域,var定义的是全局局部作用域(全局变量和局部变量)
块级作用域
在{}中定义的就是一个块级作用域,在里面声明的变量外面不能使用
全局局部作用域
局部变量:在函数内部定义的变量,只在函数内部起作用,函数执行结束,变量会自动删除即在一个函数内部定义的变量,只在本函数范围内有效
全局变量:“在函数外定义的变量”,即从定义变量的位置到本源文件结束都有效即可以被所有对象或者函数引用
-
const不能重新赋值,不能多次定义const,必须要有初始值,let也不能被多次定义,var可以多次定义
-
暂时性死区,使用 let 或 const 声明的变量,在声明没有到达之前,访问该变量都会导致报错
-
var是es5发布的,let const是es6新引入的
以上是关于面试题 var let const的区别的主要内容,如果未能解决你的问题,请参考以下文章