这是一个抛出"SyntaxError: missing ; before statement Line 3"
function party() {
this.cakes = "Truffle Cake",
this.cookies = "Good Day",
this.drinks: "Wine";
}
虽然这不是
function party() {
this.cakes = "Truffle Cake",
this.cookies = "Good Day",
this.drinks = "Wine";
}
与第二个中的第一个差异是使用等于(=)运算符而不是(:)冒号运算符来为值drinks
属性赋值。我想知道Javascript在第一种情况下抛出错误的逻辑。
另外,为什么在以下party.cake等警告中使用“未定义”作为聚会本身就是一个对象
function party() {
cake = "Truffle Cake";
cookies = "Good Day";
drinks = "Wine";
}
alert("Cakes in Tonight's Party: " + party.cake);
alert("Cookies in Tonight's Party: " + party.cookies);
alert("Drinks in Tonight's Party: " + party.drinks);
由于
答案 0 :(得分:1)
冒号用于将属性与对象文字中的值分开。 equals将property / variable与正在设置的值分开。
错误消息是正确的,您需要等于因为您正在设置属性。它不是一个对象字面量。