美文网首页
<you don't know JS> 上卷

<you don't know JS> 上卷

作者: CJ_景元 | 来源:发表于2018-01-29 11:34 被阅读15次

this关键词是JavaScript之中最复杂的机制之一。

关于 this

和词法作用域的机制不同,this的指向是“动态”的,它是函数在调用时执行的绑定,指向什么决定于函数在哪里调用

全面解析

归纳总结为4条:

  1. 使用new调用时,绑定到新创建的对象。
  2. call()或者apply()(以及bind())方法调用时,绑定到指定的对象。
  3. 作为对象的方法调用时,指向该对象本身。
  4. 默认情况:绑定到Window对象,在严格模式下绑定到undefine.

ES6 箭头函数中的 this

其实也并不复杂,只是在一个用词法作用域定义函数的语言里面又使用了“动态”让人感到些许困惑...
所以在ES6之的箭头函数使用了与之前函数不同的机制:
函数体内的this对象就是函数定义时所在对象,不是函数使用时所在的上下文环境。

相关文章

网友评论

      本文标题:<you don't know JS> 上卷

      本文链接:https://www.haomeiwen.com/subject/udibaxtx.html