0

私は次のようなコードを持っています:

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では、 3つの関数すべてが変数を共有できるように、変数の作成をどのように管理すればよいでしょうか。の外にコードを書きたくありませんMyClass

4

2 に答える 2

3

marker現在のところ、initではなくMyClassに入れてください。

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
   }
};
于 2012-07-13T12:55:13.397 に答える
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 が出力されます。

于 2012-07-13T13:04:34.407 に答える