Javascript ie关联数组初始化失败

Javascript ie关联数组初始化失败,javascript,internet-explorer,Javascript,Internet Explorer,我声明了一个数组,格式如下: var refs = { 'EE810': "Presence Detector 1 Channel", 'EE871': "Motion Detector Outdoor 220/360Deg Blk", 'EE870': "Motion Detector Outdoor 220/360Deg WH", 'EE811': "Presence Detector 2 Channel", 'EE805': "Motion Dete

我声明了一个数组,格式如下:

var refs = {
    'EE810': "Presence Detector 1 Channel",
    'EE871': "Motion Detector Outdoor 220/360Deg Blk",
    'EE870': "Motion Detector Outdoor 220/360Deg WH",
    'EE811': "Presence Detector 2 Channel",
    'EE805': "Motion Detector Indoor  White Flush",
    'EE862': "Motion Detector Alum  Outdoor 220 Deg",
}

IE7似乎认为这是一个语法错误,因为同一个脚本块中的函数声明突然变得不被定义。最简单的方法是什么来重新格式化它,使它在ie中有效?

第一,它是一个对象,而不是数组


第二,不允许使用额外的逗号。一些解析器忽略了额外的逗号,但是IE在上面出现了错误。删除最后一个元素后的逗号。

不要在最后一个元素后添加逗号。这是一个已知的IE问题。

IE不允许在对象末尾添加额外的逗号。去掉最后一个逗号,它就会起作用


这是IE坚持规范的一种情况。从技术上讲,它通过抱怨做了正确的事情。

我想你需要一个新的。谢谢,数组在coldfusion循环中初始化,这只是一个小小的痛苦。现在我必须测试最后一个元素。@SpliFF:测试第一个元素通常比较容易。e、 g.-从变量中的空白分隔符开始,并在每次迭代结束时将该变量设置为“,”。在这种情况下,这一点都没有帮助,它是相关的最后一个逗号。无论如何,我已经编写了所需的修复程序。另外,在右括号后加一个分号也是个好主意。实际上,它一点也不抱怨。它只是忽略同一脚本块中的所有内容。甚至开发者工具栏也没什么可说的。在我的书中,这听起来几乎不正确。