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 会在全局作用域下创建一个新的绑定,不会添加为全局属性。

  • 相关阅读:
    从0开始的Python学习013编写一个Python脚本
    Spring Cloud Eureka基本概述
    RocketMQ入门案例
    Quartz使用记录总结
    Spring Boot 1.5升级2.1 主要问题汇总
    Eureka客户端注册多网卡下IP选择问题
    Spring Security之动态配置资源权限
    代码规范问题
    Spring Security + OAuth系统环境搭建(一)
    Java并发编程之AQS
  • 原文地址:https://www.cnblogs.com/cxuer/p/8570162.html
Copyright © 2011-2022 走看看