我有这样的代码:
function main() {
this.var1 = 1;
function internal() {
//some function supposed to work on var1
}
this.x = new internal();
}
var m = new main();
function main2() {
m.x.someFunction(); //need to change m.var1
}
有没有办法从内部(),访问var1而不将其作为参数传递?
我知道我可以这样做:var var1 = 1;
,然后在内部()我可以放置像var1 += blabla;
这样的东西,但这样做会将var1设置为局部变量,它不会再被看见了通过main2()函数。此外,我甚至可以将var1声明为全局,但我需要它作为main()的属性。所以,我不能将var1设置为局部变量或全局变量,我不能将internal()设置为全局函数或main函数。
我希望有人知道如何扩展"内部()
中var1的范围答案 0 :(得分:0)
这有什么问题?
function main() {
var var1 = 1;
function internal() {
//some function supposed to work on var1
}
this.var1 = var1;
this.x = new internal();
}
或者可能这样:
function main() {
this.var1 = 1;
function internal(me) {
//some function supposed to work on me.var1
}
this.x = new internal(this);
}