gpt4 book ai didi

javascript - 在不同的方法中使用时变量是 "undefined"?

转载 作者:行者123 更新时间:2023-11-30 18:29:08 28 4
gpt4 key购买 nike

我有这个用于设置对象的代码:

myObj.prototype.__init = function(a, b, c){
this.a = a;
this.b = b;
this.c = c;
}

然后在另一个函数中,我想使用在 __init 方法中设置的 a:

myObj.prototype.myFunc = function(){
var data = parse(a);
//...
}

问题是 aundefined。我还尝试了 this.a,结果也是 undefined。有趣的是 console.log(myO) 在执行 var myO = new myObj();myO.__init(myA, myB, myC ); 打印字段 a 已初始化的对象。我如何访问我对象的那个函数中的 a

谢谢

编辑:这是对 myFunc 的调用:

someVar = new tccHandler.myObj();
someVar.__init(myA, myB, myC);
someVar.myFunc();

最佳答案

我怀疑它应该是parse(this.a)

请记住,this属性在默认情况下在标识符 [read: variables] 的查找链中;只有词汇变量和“全局对象”(即window)的属性是。

a 是函数 __init 中的一个变量(作为函数参数),其中它命名的对象被分配给 property this.a,但a 不是函数 myFunc 的变量。每个函数都引入了它自己的词法范围。

编码愉快!

关于javascript - 在不同的方法中使用时变量是 "undefined"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10128661/

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