2016-12-24 12 views

答えて

1

いいえ、あなたの期待どおりに呼び出されませんでした。オブジェクトが初期化されている間に呼び出されます。 obj.newParamの戻り値はalert("ok")、つまりundefinedとなります。

あなたがグローバルな文脈にあるとき

var obj = { 
init: function(){ 
    this.newParam= function() { 
    alert("ok");// This should alert ok while called Object.newParam() 
    } 
} 
} 

はまた、あなたの変数の名前Objectを使用すると、リスクの高い一つであり、あなたが望むものを達成するために、次のようにコードを書き換える必要があります。 initは()が呼び出されたとき、それはオブジェクトを返すこと

var Object={ 
     init: function(){ 
      return { 
       newParam :function() { 
       alert("ok");// This should alert ok while called Object.newParam() 
      } 
     } 
     } 
} 
console.debug(Object.init().newParam()); 

注:よう

1

てみてください何か。私はそれを望んでいないhttps://jsfiddle.net/krwxoumL/

+0

Object.init().newParam()

フィドルを - あなたは、そのオブジェクトを使用しているからnewParam機能を呼び出すことができます。私はObject.init()の代わりにObject.newparamを持っています。newparamしかし、私はnewparam:this.init()。newparam'を使って値を手動で設定したくありません。 –

+0

私が正しく理解しているかわかりませんそれはhttp://stackoverflow.com/questions/1789892/access-parent-object-in-javascriptに似たようです –