1. 对this对象的理解
如果要判断一个运行中函数的 this 绑定, 就需要找到这个函数的直接调用位置。 找到之后 就可以顺序应用下面这四条规则来判断 this 的绑定对象。
-
new 调用:绑定到新创建的对象, 注意:显示
return函数或对象,返回值不是新创建的对象,而是显式返回的函数或对象。 -
call 或者 apply( 或者 bind) 调用:严格模式下,绑定到指定的第一个参数。非严格模式下,null 和 undefined, 指向全局对象(浏览器中是
window),其余值指向被new Object()包装的对象。 -
对象上的函数调用:绑定到那个对象。
-
普通函数调用: 在严格模式下绑定到
undefined,否则绑定到全局对象。 -
ES6 中的箭头函数:不会使用上文的四
本文详细探讨了JavaScript中的this绑定规则,包括new、call、apply、bind四种调用模式,以及call和apply的区别。此外,还介绍了如何实现这三种方法,以及bind函数的特性,如函数柯里化和硬绑定。
订阅专栏 解锁全文
1284

被折叠的 条评论
为什么被折叠?



