zoukankan      html  css  js  c++  java
  • var、let 与 const

    var 与 let

      ① var 声明的变量根据作用域分为全局变量和局部变量,let 是块级声明(块级作用域),在指定块(字符 { 和 } 之间的区域)的作用域之外无法访问 let 声明的变量。

      ② var 存在变量提升(hoisting)机制,let 不存在变量提升机制(所以 let 声明语句放在封闭代码块的顶部)。

      ③ 在同一作用域不能用 let 重复定义已经存在的标识符。

    const 与 let

      相同:

      ① 声明的都是块级标识符;

       ② 只在当前块内有效,执行到块外会被立即销毁;

      ③ 都没有提升机制;

      ④ 在同一作用域不能用重复定义已经存在的标识符。

      区别:

      ① 无论是在严格模式下还是非严格模式下,都不可以为 const 定义的常量再赋值(注意:const声明不允许修改绑定,但允许修改值,如对象中的属性)。

      ② const 声明的是常量,而且必须初始化,值被设定后不可更改。

    var 与 let / const 的另一个区别实在全局作用域中的行为不同。var 会创建一个新的全局变量作为全局对象,所以很可能无意中覆盖一个已经存在的全局属性。而let 和 const 会在全局作用域下创建一个新的绑定,不会添加为全局属性。

  • 相关阅读:
    Hadoop及HIVE学习宝典收集
    【iOS知识学习】_int、NSInteger、NSUInteger、NSNumber的差别和联系
    mysql 连接慢的问题
    CF704D Captain America
    常用流
    流的概念及基本分类
    是否可从一个static方法内发出对非static方法的调用?
    hashCode方法的作用?
    ClassLoader如何加载class?
    class.forName的作用?
  • 原文地址:https://www.cnblogs.com/cxuer/p/8570162.html
Copyright © 2011-2022 走看看