2012-03-06 19 views
0

他のメソッドを呼び出すことができるjavascriptオブジェクトを作成しようとしています。しかし、私は奇妙な問題に遭遇しており、私は理解できないようです。Javascriptオブジェクト内のメソッドを呼び出す

私は、「メッセージ:オブジェクトはこのプロパティまたはメソッドをサポートしていません」というエラーを取得しています次のコード

myObjectDef = function() { 
    this.init = function() { 
     //do some stuff 
     this.doSecondInit(); 
    } 
    this.doSecondInit = function() { 
     //do some more stuff 
    } 
} 

myObject = new myObjectDef(); 
myObject.init(); 

を持っています。そして、this.doSecondInit();で終了します。なぜこれをやっているのか分かりません。私のコードは、2番目のメソッドの呼び出しまで大きく実行されます。この仕事をするにはどうすればいいですか?

+1

あなたのコードはうまく見え、私のためにうまくいく:http://jsfiddle.net/vdVE8/ - 多分あなたは欠けているビットを表示する必要があります。 – nnnnnn

答えて

3

かっこの余分なセットがここにあります:

this.doSecondInit() = function() { 

あなたも存在しない関数の結果にはおろか、関数呼び出しの結果に割り当てることはできません。

あなたの編集した後、あなたのものでは正常に動作するようです:

http://jsfiddle.net/nabVN/

、あなたの実際のコードで同じタイプミスを持っていなかったあなたは確か?関数呼び出しが終わるたびに()を置かない方が良いでしょう。関数が値ではない言語から引き継がれた悪い習慣です。

+0

申し訳ありませんが、私のコードを修正しました。 – Robbert

+0

私はもっと慎重に自分のコードを見る必要があるように見えます。それは間違いなく私のために働いているし、私は間違いなく最初の括弧を持っていない。私はこの時点で見落としていることがあると確信しています。 – Robbert

関連する問題