首页 > 代码库 > IE6,IE7,IE8下报JS错误:expected identifier, string or number的原因及解决办法

IE6,IE7,IE8下报JS错误:expected identifier, string or number的原因及解决办法

今天在调试一个页面的时候遇到一个问题,在IE9下运行得很好的脚本,在IE8里打开的时候弹出错误:expected identifier, string or number,按照经验,应该是定义对象的时候最后一个属性末尾跟了逗号,但检查一遍后没发现有这种情况,后来仔细看了一下报错的位置,发现有定义json对象属性时,属性名没有用引号括起来,于是加了上去再试,问题解决了。

综上所述,当出现expected identifier, string or number的错误时,你首先应该检查在使用对象字面量时是否在最后一个属性后跟了逗号,这在js新手写的代码中比较常见,如:

{
‘a’: ‘aValue’,
‘b’: ‘bValue’,
}

,其次,应该检查字面量的属性名是否用引号括起来了,错误示例:

{
a: ‘aValue’,
b: ’bValue’
}
改成:

{
'a': ‘aValue’,
'b': ’bValue’
}

问题就解决了