**!**let /var定义变量
1,let 不具有变量提升,具有块级作用域,不允许重复定义
let定义的变量是块级的变量。使用 let 声明的变量,在声明前无法使用,否则将会导致错误;如果未在 let 语句中初始化您的变量,则将自动为其分配 JavaScript 值 undefined。
2,var 具有变量提升,可以重复定义
var定义的变量是全局变量或者函数变量。函数中使用var关键字进行显式申明的变量是做为局部变量,而没有用var关键字,使用直接赋值方式声明的是全局变量。
**!**const定义常量(一旦赋值不可更改)
const也用来声明变量,但是声明的是常量。一旦声明,常量的值就不能改变,同时它与let相同也不能在相同块级作用域内重复声明同一个变量。
注意:const的作用域与let命令相同:只在声明所在的块级作用域内有效。
本面试题为前端常考面试题,后续有机会继续完善。我是歌谣,一个沉迷于故事的讲述者。
欢迎一起私信交流。