闭包,作用域与作用域链的关系,this

作用域链[scope]

  • 作用域是层作用包裹另一 层作用域σ从而形成作用域链,通过scope完成的
  • 作用域链导致了变量的使用规则。
  • 1:在自己的作用域中找,如果没有就去父域中找,直到找到全局作用域为止
  • 变量查找方式:
  • 1;先看声明,再看赋值,赋值使用就近原则
  • 注意:属性=值不是全局的,是变量赋值,不是声明
    因为在预编译阶段;window下没有这个属性,只有在解析执行的时候,才给window添加该属性,并赋值

作用域链的存在:是可以让小作用域中使用变量可以访问到大作用域中的变量

#### this与作用域的关系是什么?
 因为每个作用域中都有一个最大的对象
 this 默认就是存在的,每个作用域中都有;默认指向当前作用域中的对象(抽象的对象)
 1.函数中作用域是不稳定的
 2.作用域可以赋值给对象
 3.对象.函数执行,可以将this赋值给对象,所以谁调用就指向谁
 构造函数中this指向 一般指向构造的对象,return返回的是对象是,this指向return的对象,如果返回的不是对象,this指向构造对象,返回的是null时,this指向构造对象
#### 闭包与变量和作用域的关系是什么?

你可能感兴趣的:(闭包,作用域,this)