gpt4 book ai didi

javascript - 在调用原型(prototype)函数时丢失函数上下文

转载 作者:行者123 更新时间:2023-11-29 17:14:24 25 4
gpt4 key购买 nike

我正在尝试弄清楚如何将函数上下文从构造函数获取到其中一个原型(prototype)函数。但是,当我检查原型(prototype)函数中的“this”值时,它只是将其显示为“Object”,而不是调用 (ctor) 上下文。

所以我有代码:

function CL(){
...
(stuff)
...
console.log(this);
protoFunc(this);
}

CL.prototype.protoFunc = function(context) {
var self = context;
console.log(context);
...
}

调用protoFunc前的函数上下文是CL的。但在 protoFunc 中它是 [Object object]。

如何将函数上下文放入 protoFunc?

谢谢。

莱斯

最佳答案

你不能那样调用protoFunc,你需要在前面加上this。你没有得到错误吗?代码应该是:

function CL(){
...
(stuff)
...
console.log(this);
this.protoFunc();
}

这将在原型(prototype)方法中为您提供正确的 this - 前提是使用 new 正确调用了 CL:

var instance = new CL();

关于javascript - 在调用原型(prototype)函数时丢失函数上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19147006/

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