gpt4 book ai didi

javascript - 使用 javascript 从不同的上下文调用函数?

转载 作者:行者123 更新时间:2023-12-02 17:16:38 24 4
gpt4 key购买 nike

我尝试使用 OOP 风格但从不同的上下文调用 javscript 中的函数/方法。

例如:

var SomeClass = function(){
this.init = function(){
var something = "An Interesting Variable";
this.foo(something); //this works fine
},
this.foo = function(bar){
alert(bar);
}
this.foo2 = function(){
this.foo(something); // this deos not work/ something is not defined
}

};

var newClass = new SomeClass();
newClass.init();
newClass.foo2();

所以基本上我想在 this.foo2() 上下文中调用 this.foo() 函数,但充当 this.init() ,我不确定这是否有意义,但我对 javascript 中的 OOP 很陌生。

最佳答案

您的上下文是正确的,但您正在尝试访问未在该范围内定义的变量。在 init 中使用 var 声明的变量 something 只能存在于该函数内部。

您需要使其成为SomeClass的成员:

this.init = function() {
this.something = 'An interesting variable';
this.foo(this.something);
},

this.foo2 = function() {
this.foo(this.something);
}

关于javascript - 使用 javascript 从不同的上下文调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24385061/

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