let与const

全局变量:函数外部定义的变量,但函数内部或者代码块中没有定义的变量也具备全局作用域,两者区别如下:

     前者是全局变量,后者是全局对象window的属性(虽然都可以用window对象来访问,可以通过“变量不能被删除,属性可以被删除“来证明)

函数作用域:在函数内部定义的变量拥有局部作用域

块状作用域:在花括号中用let声明的变量具有块状作用域

动态作用域:this

let与var的区别

1、let具有块状作用于

2、var声明的全局变量能通过window的属性去访问,let声明的全局对象不可以

3、var可以重新声明变量,let不可以

4、var声明的变量有变量提升的特性,let声明的没有

const的特性

1·、const具备let的特性,但const只能定义常量(不能修改)

2、var,let都可以先声明后赋值,但const不可以

https://segmentfault.com/a/1190000020459459

https://segmentfault.com/a/1190000008972987

https://github.com/creeperyang/blog/issues/16

原文地址:https://www.cnblogs.com/allenzhang-920/p/12401601.html