gpt4 book ai didi

javascript - 如何获取调用函数的 'this' 值?

转载 作者:数据小太阳 更新时间:2023-10-29 03:53:55 25 4
gpt4 key购买 nike

如果我有这样的功能:

function foo(_this) {
console.log(_this);
}

function bar() {}
bar.prototype.func = function() {
foo(this);
}

var test = new bar();
test.func();

然后 bartest 实例被记录。

但是,要使其正常工作,我必须在 bar.prototype.func 函数中传递 this。我想知道是否有可能获得相同的 this而不传递 this

我尝试使用 arguments.callee.caller,但这会返回原型(prototype)函数本身,而不是原型(prototype)函数内的 this 值。

是否可以仅通过在原型(prototype)函数中调用 foo() 来记录 bartest 实例?

最佳答案

如果问题是“没有通过这个(以任何方式)”那么答案是

不过,值可以通过其他方法传递。例如使用全局变量(在 Bar 类中) 或 session 或 cookie。

    function bar() {

var myThis;

function foo() {
console.log(myThis);
}

bar.prototype.func = function() {

myThis = this;
foo();
}
}

var test = new bar();
test.func();

关于javascript - 如何获取调用函数的 'this' 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6332017/

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