2011-11-21 30 views
23

JSでオブジェクトリテラルを使用する方法を学んでいます。オブジェクト内の関数を同じオブジェクト内の別の関数で呼び出すことによって実行しようとしています。関数 "init"から関数を呼び出すとき、関数が "実行"していないのはなぜですか?コードのみ宣言あることオブジェクト内の関数から関数を呼び出す(オブジェクトリテラル)

var runApp = { 

    init: function(){ 
     this.run() 
    }, 

    run: function() { 
      alert("It's running!"); 
    } 
}; 

答えて

10

あなたに機能を割り当てたために起こるオブジェクトのプロパティについてinit魔法のようなものは何もありませんあなたが実際にコール機能する必要があります。だからあなたがそれを呼び出さなければ、それは動かないでしょう。このようなオブジェクトリテラルを構築するときにあなたのために実行される関数はありません。

var runApp = { 
    init: function(){ 
     this.run() 
    }, 
    run: function() { 
     alert("It's running!"); 
    } 
}; 

// Now we call init 
runApp.init(); 
:そのように、あなたのコードは、この

になります

関連する問題