作用域相关

134 阅读1分钟

作用域:变量的作用范围

  1. 局部作用域:函数内部

    在局部作用域声明的变量称为局部变量,局部变量只能在当前函数内部使用

    1)函数在执行的时候会在内存中开辟新空间

    2)当执行完毕函数之后,会关闭作用域空间(变量被销毁)

    注意:形参也是局部变量

  2. 全局作用域:函数外部

    1)在全局作用域声明的变量是全局变量,全局变量可以在任何地方使用

    2)因为全局变量可以任何地方使用,所以要特别关注局部变量

    let 声明的变量不在window内

    var 声明的变量在window

  3. 块级作用域:类似局部作用域

    1)用 {} 包裹一块

    2)let声明变量具有块级作用域,var声明变量不具有块级作用域

  4. 申明变量:let\var\const

    1)var声明的变量相当于给window添加了个属性,let不会

    2)var声明的变量不具有块级作用域,let具有块级作用域

    3)var可以重复声明,let只能声明一次

    4)const: 用来定义常量,不可以改值

    5)const定义的常量必须初始化有值,let可以不设置值

    建议:常量名字因为是不可以改动的值,所以常量名建议用大写,一般用于定义固定不变的值