2016-09-06 3 views
1

Я только начал изучать JS и программировать одну небольшую игру для обучения. Но я получаю странные ошибки при выполнении этого объекта:Ошибка объявления функции JavaScript

mainState = { 
    name : "GAME_STATE", 

    Setup: function(context, settings) { 
    } 


    HandleKeyDown: function(event) { 
    } 

    Update: function(settings){ 

    } 

    Draw: function(context, settings){ 

    } 
} 

И все, что Поджигатель говорит,:

SyntaxError: missing } after property list 
HandleKeyDown: function(event) { 

Спасибо за вашу помощь!

+1

Вы должны добавить запятую после каждого элемента в объекте mainState, а не только имя, а после функции Setup, HandleKeyDown ... Удачи –

ответ

0

Вам необходимо добавить запятые:

mainState = { 
    name : "GAME_STATE", 

    Setup: function(context, settings) { 
    }, 


    HandleKeyDown: function(event) { 
    }, 

    Update: function(settings){ 

    }, 

    Draw: function(context, settings){ 

    } 
} 
1

Вам нужно поставить запятую между свойствами (ключ и его значение), в противном случае он не является допустимым объект JavaScript, и, следовательно, эта ошибка компиляции брошенной Firebug

SyntaxError: missing } after property list

Вот правильный способ сделать это

mainState = { 
    name: "GAME_STATE", 
    Setup: function(context, settings) {}, 
    HandleKeyDown: function(event) {}, 
    Update: function(settings) {}, 
    Draw: function(context, settings) {} // here no comma 
} 
+1

Это объект javascript, а не JSON. – Huntro

+0

@ Хунтро спасибо, я внесли изменения – gurvinder372

1

В JavaScript, вы можете легко создавать JavaScript объектов, но сначала вы должны знать обозначение:

var jsObj1 = {}; //A very basic initiation. 
var jsObj2 = { 
    a: "a", 
    b: "b", 
    c: "c" 
}; 

Здесь, как вы можете видеть, есть запятые между каждым полем объекта JS. Для вашей ситуации здесь, вы создали функции для каждого из значений полей вашего JS объекта, но забыли поставить запятые:

var mainState = { 

    name : "GAME_STATE", 

    Setup: function(context, settings) { 

    }, 

    HandleKeyDown: function(event) { 

    }, 

    Update: function(settings) { 

    }, 

    Draw: function(context, settings) { 

    } 

}; 

Так что это будет работать без каких-либо ошибок.

+0

Довольно точный ответ @ gurvinder372, нет? – mplungjan

Смежные вопросы