JingchaoZhao / js-learning

knowledge of webs
0 stars 0 forks source link

2. this和对象原型 #2

Open JingchaoZhao opened 5 years ago

JingchaoZhao commented 5 years ago

误解:

  1. 指向自身
  2. 指向它的作用域
JingchaoZhao commented 5 years ago

this: 当一个函数被调用时,会创建一个活动记录(有时候也称为执行上下文)。这个记录会包含函数在哪里被调用(调用栈)、函数的调用方法、传入的参数等信息。this就是记录等其中一个属性。会在函数执行过程中用到。 this不是在编译的时候确定 而是在运行的时候进行绑定的。

它既不指向函数的词法作用域也不指向函数的自身。它实际是在函数被调用时发生的绑定,指向完全取决于函数在哪里被调用。

JingchaoZhao commented 5 years ago
  1. 调用位置
  2. 绑定规则 a. 默认绑定:直接使用不带任何修饰的函数引用进行调用的,因此只能使用 默认绑定,无法应用其他规则。 b. 隐式绑定: c. 显式绑定: apply call 硬绑定: apply 如果显示绑定到null或者undefined作为显示绑定,这些会被忽略,做默认绑定处理; d. new绑定
JingchaoZhao commented 5 years ago

箭头函数

JingchaoZhao commented 5 years ago
  1. 由new调用?绑定到新创建的对象。
  2. 由call或者apply(或者bind)调用?绑定到指定的对象。
  3. 由上下文对象调用?绑定到那个上下文对象。
  4. 默认:在严格模式下绑定到undefined,否则绑定到全局对象。