簡體   English   中英

JavaScript函數聲明錯誤

[英]JavaScript function declaration error

我剛剛開始學習JS並編寫一個小游戲進行訓練。 但是執行此對象時出現一個奇怪的錯誤:

mainState = {
    name : "GAME_STATE",

    Setup: function( context, settings ) {
    }


    HandleKeyDown: function( event ) {
    }

    Update: function( settings ){

    }

    Draw: function( context, settings ){

    }
} 

而FireBug所說的只是:

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

謝謝您的幫助!

您需要在屬性(鍵及其值)之間放置逗號,否則它不是有效的JavaScript對象,因此Firebug會引發此編譯錯誤

語法錯誤:屬性列表后缺少}

這是正確的方法

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

在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 ) {

    }

};

因此,它將正常工作而不會出現任何錯誤。

您需要添加逗號:

mainState = {
    name : "GAME_STATE",

    Setup: function( context, settings ) {
    },


    HandleKeyDown: function( event ) {
    },

    Update: function( settings ){

    },

    Draw: function( context, settings ){

    }
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM