Aptana抱怨JavaScript分号

Aptana抱怨JavaScript分号,javascript,validation,aptana,Javascript,Validation,Aptana,为什么带有验证器(Mozilla或JSlint)的Aptana会抱怨此代码: var collectionOfValues = { key0 : value0; key1 : value1; key2 : value2; }; 它适用于,,但不适用于 即使来自好的部分的代码也无法验证: var myObject = { value: 0; increment: function (inc) { this.value += typeof i

为什么带有验证器(Mozilla或JSlint)的Aptana会抱怨此代码:

var collectionOfValues = {
    key0 : value0;
    key1 : value1;
    key2 : value2;
};
它适用于
,但不适用于

即使来自好的部分的代码也无法验证:

var myObject = {
    value: 0;
    increment: function (inc) {
        this.value += typeof inc === 'number' ? inc : 1;
    }
};

它抱怨是因为这是一个语法错误。在对象文字中,用逗号而不是分号分隔术语

var collectionOfValues = {
    key0 : value0,
    key1 : value1,
    key2 : value2
};
我所知道的每一个JavaScript实现都会拒绝您的两个示例

var myObject = {
    value: 0,
    increment: function (inc) {
        this.value += typeof inc === 'number' ? inc : 1;
    }
};

自从大爆炸以来,情况基本上就是这样。

因为正确的语法是必要的

var collectionOfValues = {
    key0 : value0,
    key1 : value1,
    key2 : value2,
};

对于js对象

我知道这是一个迟来的答案,但好的部分实际上是正确的。(提问者可能知道这一点,但对于阅读本文的其他人来说……);我的副本日期是2008年,这篇文章是2011年。它是用逗号打印的


这是让我困惑的下一点…;-)

值2之后的值无效。该值为:p。它将运行。这不是一个好的做法,但它会运行。我故意把它放在那里,与原作并置,突出强调了一点,那就是改变后会产生不同。@Joseph实际上IE6将无法运行lol感谢链接,Greg。XD我不知道(但可能应该猜到)IE会有问题。谢谢你提供的信息。我知道在C#中数组可以有尾随逗号,我也不知道为什么,直到我开始在代码中大量修改数组,尾随逗号确实很有用,因为你可以添加它,然后逐行修改,而不必担心哪一行是最后一行,因为它们都有逗号。无论如何,我希望用“正确的方式”编写JavaScript,所以谢谢。我想知道JSLint是否捕捉到这个尾随的逗号?我想是的。实际上它不。。。嗯,我想没关系。太好了,谢谢你的确认。非常奇怪的是,JavaScript中的代码——好的部分是错误的,而一个新API的文档提到使用JSLint进行验证也是错误的,同样。好像他们都在说;那时他们还行,也许他们真的还行。