JavaScript学习笔记—全局和局部作用域

作用域(scope)

  • 指的是一个变量的可见区域
  • 全局作用域
    • 在网页运行时创建,在网页关闭时消耗
    • 所有直接编写到script标签中的代码都位于全局作用域中
    • 变量是全局变量,可以在任意位置访问
  • 局部作用域
    • 块作用域
      • 在代码块执行时创建,代码块执行完毕就销毁
      • 在块作用域中声明的变量是局部变量,只能块内部访问,外部无法访问
    • 函数作用域
      • 在函数调用时产生,调用结束后销毁
      • 函数每次调用都会产生一个全新的函数作用域
      • 在函数中定义的变量时局部变量,只能在函数内部访问,外部无法访问
  • 作用域链
      当我们使用一个变量时,JS解释器会有限在当前作用域中寻找变量,如果找到了则直接使用,如果没找到,则去上一层作用域中寻找,找到了则使用,如果没找到,继续去上一层寻找,以此类推,如果一直到全局作用域都没找到,则报错 xxx is not defined
posted @ 2023-01-15 21:40  程序员张3  阅读(12)  评论(0编辑  收藏  举报