我的代码如下:
MyClass = {
init: function(){
marker = 0;
//I call foo() and bar() from here
},
foo: function(){
//I want to access & update marker here
},
bar: function(){
//This function also accesses updates marker
}
};
我可以通过将其作为参数传递给函数来访问marker
但我无法更新它。
那么,我如何管理创建变量marker
以便所有三个函数可以共享它?我不想在MyClass
之外写任何代码。
答案 0 :(得分:3)
将marker
放在MyClass中,而不是放在init中,它现在就在那里。
MyClass = {
// marker is in MyClass now
marker: 0,
init: function(){
console.log(this.marker);
//I call foo() and bar() from here
},
foo: function(){
//I want to access & update marker here
},
bar: function(){
//This function also accesses updates marker
}
};
答案 1 :(得分:0)
var MyClass = {
marker: 0,
init: function(){
this.foo();
this.bar();
console.log(marker);
},
foo: function(){
marker = 4;
},
bar: function(){
marker = marker * 2;
}
};
如果执行MyClass.init()
,它将在控制台中打印8。