Day35:this绑定的例外

作者: 钱塘风华 | 来源:发表于2019-04-29 00:05 被阅读1次

    【书名】:你不知道的JavaScript(上卷)

    【作者】:Kyle Simpson

    【本书总页码】:213

    【已读页码】:114

    1.  null 、undefined 或空对象ø忽略this

    如果把 null 或者 undefined 作为 this 的绑定对象传入 call、apply 或者 bind,这些值在调用时会被忽略,实际应用的是默认绑定规则。

    在 JavaScript 中创建一个空对象最简单的方法都是 Object.create(null)。Object.create(null) 和 {} 很像,但是并不会创建 Object.prototype 这个委托,所以它比 {}“更空”。

    2. 间接引用

    3. 软绑定

    如果可以给默认绑定指定一个全局对象和 undefined 以外的值,那就可以实现和硬绑定相同的效果,同时保留隐式绑定或者显式绑定修改 this 的能力。

    软绑定的 foo() 可以手动将 this 绑定到 obj2 或者 obj3 上,但如果应用默认绑定,则会将 this 绑定到 obj。

    相关文章

      网友评论

        本文标题:Day35:this绑定的例外

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