JavaScript中使用 var 和 let 和 const 的差异

简单的三种生命变量的方式,存在着较大的差异。

  首先js预编译阶段差异:

    var   存在变量提升   

    let     不存在变量提升   先声明后使用否在报错。

    const  不存在变量提升   先声明后使用否在报错。

  声明基本数据类型(原始数据类型)和引用数据类型差异:

    var 和 let 在生命变量之后,二次修改变量堆栈数据时,变量随即改变。

    但是const生命的变量保存的是栈当中的数据(原始值或者指针)。  当修改原始值(基本数据类型的时候,const是不可更改的。)

  ES5------》var 只存在全局作用域和函数作用域。

  ES6------》let 和 const 存在块级作用域概念。

.......待补充

  

  

猜你喜欢

转载自www.cnblogs.com/swt-axios/p/12750975.html