为什么带有验证器(Mozilla或JSlint)的Aptana会抱怨这段代码:
var collectionOfValues = {
key0 : value0;
key1 : value1;
key2 : value2;
};
它适用于,
但不适用于;
。
即使是Good Parts的代码也无法验证:
var myObject = {
value: 0;
increment: function (inc) {
this.value += typeof inc === 'number' ? inc : 1;
}
};
答案 0 :(得分:8)
这是抱怨,因为这是一个语法错误。在对象文字中,您使用逗号分隔术语,而不是分号。
var collectionOfValues = {
key0 : value0,
key1 : value1,
key2 : value2
};
我知道的每个JavaScript实现都会拒绝您的示例。
var myObject = {
value: 0,
increment: function (inc) {
this.value += typeof inc === 'number' ? inc : 1;
}
};
自从大爆炸以来,情况基本如此。
答案 1 :(得分:2)
因为正确的语法是
var collectionOfValues = {
key0 : value0,
key1 : value1,
key2 : value2,
};
用于js对象
答案 2 :(得分:0)
我知道这是一个迟到的答案,但好的部分实际上是正确的。 (提问者可能知道这一点,但对于其他读这个的人来说......);我的副本是2008年,这篇文章是2011年。它印有逗号。
这是令我感到困惑的下一步......; - )