题外话:从今天开始保持每周至少两篇技术博客的更新速率……
关于JS中的this,是JS语言核心中最让人难懂的一部分,关于怎样理解这部分内容,我推荐三个资源:《JS语言精粹》,《你不知道的JavaScript》,MDN文档中关于this的说明。
以下简短地总结一下MDN的文档,主要是复习一下。
核心
In most cases, the value of this is determined by how a function is called.
这句话是理解全部内容的核心,this指代的值仅取决于是“怎样被调用的”
全局作用域、函数作用域
在全局作用域中this指向window,但是在strict模式下this是undefined。
函数作用域中,this的值取决于函数是怎么被调用的。
闭包内的this指向window。
apply/call/bind
语法糖,绑定this,不多表
箭头函数
解决了闭包内this指向window的痛点。