作用域

什么事作用域

  • 变量或者函数可以被调用(引用)的范围

作用域

  • 全局作用域
  • 函数作用域:必须等函数执行之后,其中的变量才有意义,变量只能在函数内部调用,函数外部不能使~~
    如果是隐式变量声明,函数执行后会变成全局变量,函数内外都可以被调用
  • 块级作用域 ES6引入了letconst关键字,和var关键字不同,在大括号中使用letconst声明的变量存在于块级作用域中。在大括号之外不能访问这些变量

词法作用域/静态作用域

  • 变量的作用域是在变量定义时就确定了,而不是在执行的时候确定的,所以看变量的作用域,看他定义时的环境就可以了,

   不用管他是 怎么调用的。

作用域链

  • 当js在使用一个变量的时候,首先会尝试在当前作用域下去寻找这个变量,如果没有找到,再找他的上层作用域,以此类推知道找到这个变量或者到全局作用域,没找到就会在全局范围内隐式声明该变量(非严格模式下)或是直接报错

 

posted @ 2022-05-13 15:39  大哥成  阅读(22)  评论(0编辑  收藏  举报