gpt4 book ai didi

javascript - 在调用堆栈中更高层的方法中访问 'this' 对象

转载 作者:行者123 更新时间:2023-11-30 18:58:27 26 4
gpt4 key购买 nike

我有以下 JavaScript:

function b() {
alert(arguments.caller[0]);
}

function X(x) {
this.x = x;
}

X.prototype.a = function(i) {
b();
}

new X(10).a(5);

这将显示消息“5”。但是,我想显示“10”,即在函数 b 中我想访问调用者的“this”属性。这可能吗?如何实现?

最佳答案

您可以将调用者作为参数传递给函数:

function b(caller) {
alert(caller.x);
};

function X(x) {
this.x = x;
};

X.prototype.a = function(i) {
b(this);
};

new X(10).a(5);

请注意 arguments.caller 在 JS 1.3 中已弃用并在 JS 1.5 中删除。

关于javascript - 在调用堆栈中更高层的方法中访问 'this' 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1021545/

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