1

私は次のオブジェクトを持っています。

ou.map : {
   settings : {
   },

   basePath : './path/';
   marker_setting : {
     img   :  this.basePath + 'image.png';
   },

   fun : function() {
      alert ( this.maker_setting.img  );
      //alert ( this.basePath + this.maker_setting.img ); Right now, I am using this where this.maker_setting.img is simply 'image.png'
   }

}

ここで、 の値はou.map.marker_setting.imgになりますundefinedimage.pngが、私はそれを にしたいと考えています./path/image.png。どうやってやるの?

編集
私は完全なアプローチを変更することもできます。私が欲しいのは、marker_setting と basePath を持つ 1 つの名前空間と、marker_setting でプロパティを使用できる 1 つのメイン メソッドだけです。

また、私はこれらすべてを試しました

img   :  this.basePath + 'image.png';
img   :  basePath + 'image.png';
img   :  ou.map.basePath + 'image.png';

これらのどれも、望ましい出力を与えませんでした。他の情報が必要な場合はお知らせください。

4

1 に答える 1

0

の値はthis、上記のコードが実行される方法と場所、つまり、ou.mapケースでオブジェクトが定義されるコンテキストによって異なります。

例えば:

function foo() {
   ou.map = {
      // here this would be 'x'
   }
}

foo.call('x'); // means the value of "this" inside foo() will be 'x'
于 2013-03-19T07:37:00.473 に答える