使用javascript从不同的上下文调用函数?
我试图使用OOP风格在javscript中调用一个函数/方法,但来自不同的上下文 例如:使用javascript从不同的上下文调用函数?,javascript,Javascript,我试图使用OOP风格在javscript中调用一个函数/方法,但来自不同的上下文 例如: var SomeClass = function(){ this.init = function(){ var something = "An Interesting Variable"; this.foo(something); //this works fine }, this.foo = function(bar){ alert(
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);
}