gpt4 book ai didi

javascript - 如何在javascript函数中手动设置this?

转载 作者:行者123 更新时间:2023-12-03 06:00:18 24 4
gpt4 key购买 nike

如果我有这样的函数:

function foo(A) {
console.log(A, this);
}

var e = "world";

如何调用 foo,以便将变量 e 作为 this 变量传递给 foo,以及字符串 “hello” 为参数 A,因此它会记录此内容

hello world

谢谢

最佳答案

使用 Function#call call()方法调用具有给定 this 值和单独提供的参数的函数。

Function.call ,第一个参数始终是 this-context第二个(依此类推)参数将是被调用函数的第一个参数。这就是原因"Hello"是第一个出现的,因为你有 console.log(A, this); .

fun.call(thisArg[, arg1[, arg2[, ...]]])

function foo(A) {
console.log(A, this);
}

var e = "world";
foo.call(e, 'Hello');

注意:需要考虑的重要事项,为调用 fun 提供的值。请注意,这可能不是该方法看到的实际值:如果该方法是 non-strict mode 中的函数代码,nullundefined将被替换为全局对象,并且原始值将转换为对象

关于javascript - 如何在javascript函数中手动设置this?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39776507/

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