• javascript——let关键字


    在ES2015后,引入了两个关键字letconst

    let关键字

      在引入let关键字和const之间,JavaScript里只有两种作用域:全局作用域和函数作用域,引入两个关键字后,提供了块级{}作用域

    全局作用域:

      全局(函数外面)声明的变量有全局作用域(使用var声明的),全局变量可以在JavaScript的任何地方访问。

    函数作用域:

      局部(函数里面)声明的变量拥有局部作用域(使用var声明的),局部变量只可以在被声明的函数内部使用。

    块级作用域:

      通过var申明的变量是没有块级作用域的,在{}里使用var声明的变量任然可以在{}外被访问。

      使用let申明的变量拥有块级作用域

    块级作用域可解决的问题:

    (1)重新声明变量

      在块级外使用var声明一个变量,在块级里也使用var声明同名的变量,会将外部的变量的值也修改了。

      在块级外使用var声明一个变量,在块级里也使用let声明同名的变量,不会修改外部同名的变量的值。

    (2)在函数内声明变量时候,使用var和let是相同的效果

    (3)在函数外使用var和let声明变量都有全局作用域

    Html中的全局变量:

      使用JavaScript的情况下,全局作用域是JavaScript环境。在HTML中全局作用域是window对象。通过var关键字定义的全局变量属于window对象,通过let关键字定义的全局变量不属于window对象。

    注意:

    • 允许在程序的任何地方使用var重新声明JavaScript变量。
    • 在相同的作用域,或在相同的快中,通过let重新声明一个var变量是不允许的。
    • 在相同的作用域,或在相同的快中,通过let重新声明一个let变量是不允许的。
    • 在相同的作用域,或在相同的快中,通过var重新声明一个let变量是不允许的。
    • 在不同的作用域或者块中,通过let重新声明变量是允许的

    通过var声明的变量会被提升到顶端,可以在声明变量之前就使用它

    通过let声明的变量不会被提升到顶端,在声明它之前就使用它会出错。

     

  • 相关阅读:
    vue 分页 pagination
    查看android 签名文件keystore的有效期限
    cordova + vue 项目实现极光推送功能
    vue window
    input
    vue install 组件
    cordova 的安桌动画
    深度图
    css3 Transition动画执行时有可能会出现闪烁的bug
    windows zip命令
  • 原文地址:https://www.cnblogs.com/zhilili/p/12788368.html
Copyright © 2020-2023  润新知