gpt4 book ai didi

javascript - 使用 apply 为 this 关键字传入一个对象

转载 作者:行者123 更新时间:2023-11-28 19:40:50 25 4
gpt4 key购买 nike

我正在尝试自学 JavaScript,但我似乎陷入了一个相当基本的步骤。我的引用书上说:

"apply can be used to pass in an object for the this keyword to point to".

我首先开始:

var a = 50;
var foo = function() {
return this.a;
}

当我执行 foo() 时,我按预期得到 50 。然后我尝试应用,如下所示:

foo.apply({a : "blah"});

当我再次执行 foo() 时,我仍然得到 50 而不是我预期的 blah

似乎 apply 未能成功使 this 关键字指向 {a : "blah"} 对象。

我几乎可以肯定我误解了一些东西。你能帮忙澄清一下吗?

最佳答案

apply() 方法不会以任何方式修改函数;它只是使用指定的 this 调用函数。

您可以使用 bind() 创建一个新函数,该函数始终使用指定的 this 调用原始函数:

var myFoo = foo.bind({ a: 'blah' });
myFoo();

关于javascript - 使用 apply 为 this 关键字传入一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25068552/

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