1
0
Fork 0
Browse Source

vault backup: 2022-05-17 11:56:20

master
YuJian 3 years ago
parent
commit
dc4b0aef0d
  1. 7
      深入探索 JavaScript/JavaScript 执行.md

7
深入探索 JavaScript/JavaScript 执行.md

@ -56,6 +56,13 @@ this 是一个复杂的机制,JavaScript 标准定义了 \[\[ thisMode \]\]
JavaScript 提供了可以操作 this 的内置函数,如 Function.prototype.call 和 Function.prototype.apply,它们可以指定函数调用时传入的 this,除此之外还有 Function.prototype.bind,它可以返回一个更改了 this 的函数,它们甚至可以应用在箭头函数中,但是它并不会修改 this,仅仅实现了传参的能力。 JavaScript 提供了可以操作 this 的内置函数,如 Function.prototype.call 和 Function.prototype.apply,它们可以指定函数调用时传入的 this,除此之外还有 Function.prototype.bind,它可以返回一个更改了 this 的函数,它们甚至可以应用在箭头函数中,但是它并不会修改 this,仅仅实现了传参的能力。
Kyle Simpson 关于 this 的总结:
1. 如果由new调用 - 绑定到新创建的对象
2. 如果由 call、apply 或 bind调用 - 绑定到指定的对象
3. 如果由上下文对象调用 - 绑定到那个上下文对象
4. 其他调用情况 - 严格模式下会绑定到 undefined,非严格模式绑定到全局对象
5. 以上情况对于箭头函数都不适用,它会继承外层函数的 this 绑定
## 上下文栈 ## 上下文栈
>JavaScript 引擎并非一行一行分析执行代码,而是一段一段的分析执行,当执行一段代码的时候会进行一些准备工作 >JavaScript 引擎并非一行一行分析执行代码,而是一段一段的分析执行,当执行一段代码的时候会进行一些准备工作

Loading…
Cancel
Save