丹丹的小跟班 2022-06-02 09:51 采纳率: 64.4%
浏览 17
已结题

this指向问题:a.b()和(a.b)()为何一样呢?

遇到一个this指向的面试题

var out = 25
var inner = {
    out: 20,
    func: function () {
        var out = 30
        return this.out
    }
};

为何inner.func()和(inner.func)()完全等价?
(inner.func)()的this指向不应该是window吗

  • 写回答

1条回答 默认 最新

  • 土拨鼠1号 2022-06-02 10:56
    关注

    inner.func() 调用对象的方法,立即执行
    (inner.func)() 先找到内存中func对象的地址,加上(),就是去执行,两个当然是一样的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月17日
  • 已采纳回答 6月9日
  • 创建了问题 6月2日