gpt4 book ai didi

javascript - 为什么 `this`在这里指的是 `o`(o.method)()而不是全局对象

转载 作者:行者123 更新时间:2023-11-29 21:13:57 24 4
gpt4 key购买 nike

<分区>

假设我有一个对象:

var o = {
prop: 3,
method: function() {return this.prop}
}

这是我期待的

(o.method)()

返回undefined,然而它返回3意味着this中被设置为o方法。为什么会这样?如果您单独评估 (o.method),它将评估为一个独立函数,因此我希望 this 引用全局对象。例如,为什么这里存在差异:

(o.method)() vs (o.method || true)()

我知道 o.method() 将使用 o 作为上下文,问题具体是关于像这样首先访问函数 (o.method) 然后调用它。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com