我明显错了(因为它不起作用)但我认为以下两个代码块功能完全相同,但一个是按预期工作,另一个不是。
工作:
mfObject.questions = {}
mfObject.questions.active = "#"+$('.ui-page-active').attr('id');
不 工作:
mfObject.questions = {
active : "#"+$('.ui-page-active').attr('id');
}
答案 0 :(得分: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"
};