今天在調試一個頁面的時候遇到一個問題,在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’
}
問題就解決了