2011-11-21 3 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(); 
: 이와 같이

, 당신의 코드는이됩니다

관련 문제