2011-11-05 70 views
1

我明顯得到了這個錯誤(因爲它不工作),但我認爲以下兩個代碼塊功能相同,但一個按預期工作,另一個不是。Javascript對象語法的問題

工作:

mfObject.questions = {} 
mfObject.questions.active = "#"+$('.ui-page-active').attr('id'); 

工作:

mfObject.questions = { 
    active : "#"+$('.ui-page-active').attr('id'); 
} 
+1

不要在您的值的末尾放置分號。 – AutoSponge

回答

3

你不應該在財產分配的末端有一個;。對象文本內分配

mfObject.questions = { 
    active : "#"+$('.ui-page-active').attr('id') // <-- no semicolon here 
} 

屬性之間用逗號隔開,如果有多個任務,並且(如果您分配了功能屬性,雖然他們可能是內部存在)分號絕不會出現終止的屬性賦值。

// Correct property assignment in an object literal 
mfObject.questions = { 
    active: "someval", 
    prop1: "someval1", 
    prop2: "someval2", 
    prop3: function() { 
    console.log("I have semicolon terminators in a function"); 
    console.log("because I have multiple statements"); 
    }, 
    prop4: "someval4" 
}; 
+0

很好的答案。謝謝 –