Ответ 1
Этот код является только объявлением . Вам нужно вызвать функцию:
runApp.init();
Я изучаю использование объектных литералов в JS, и я пытаюсь получить функцию внутри объекта для запуска, вызвав ее через другую функцию в том же самом объекте. Почему функция "run" работает, когда вы вызываете ее из функции "init"?
var runApp = {
init: function(){
this.run()
},
run: function() {
alert("It running!");
}
};
Этот код является только объявлением . Вам нужно вызвать функцию:
runApp.init();
Нет ничего волшебного в отношении свойства init
объекта, к которому вы, по-видимому, назначили функцию. Поэтому, если вы его не назовете, он не будет работать. Никакие функции никогда не выполняются для вас при построении литерала объекта, подобного этому.
Таким образом, ваш код станет следующим:
var runApp = {
init: function(){
this.run()
},
run: function() {
alert("It running!");
}
};
// Now we call init
runApp.init();