在我們的某個網站上,我們從Internet Explorer中收到了一個非常神祕的JS錯誤。在控制檯,它說:Internet Explorer 7/8中的隱藏JavaScript錯誤:':'預計
':' expected
javascript:false, Line 1 Character 24
當我在錯誤點擊查看該JS導致錯誤彈出一條消息:「對於這個錯誤沒有源可用」。所以我真的不能告訴你這是從哪裏來的。
這對我來說非常神祕。有誰知道什麼可能導致這種情況?
在我們的某個網站上,我們從Internet Explorer中收到了一個非常神祕的JS錯誤。在控制檯,它說:Internet Explorer 7/8中的隱藏JavaScript錯誤:':'預計
':' expected
javascript:false, Line 1 Character 24
當我在錯誤點擊查看該JS導致錯誤彈出一條消息:「對於這個錯誤沒有源可用」。所以我真的不能告訴你這是從哪裏來的。
這對我來說非常神祕。有誰知道什麼可能導致這種情況?
我只能真正想到在Javascript中使用冒號的地方,那就是ternary operators。 (編輯:是的,也有對象字面量,謝謝其他海報)
所以有可能你有一條線看起來應該是三元操作符,但缺少冒號?這個假設在「錯誤」的錯誤信息中有所支持,因爲冒號之後的部分代表錯誤行爲。
的種類得到了與此的jsfiddle了同樣的錯誤:http://jsfiddle.net/CNTY8/
預期 ':'
它們也用於字面對象符號和標籤。 – Gumbo
在猜測,格式錯誤的對象字面。像{ foo bar }
這應該是{ foo: bar }
。
的地方是:
var obj = {foo: bar};
var str = (i === 0 ? "yes" : "no");
,可以幫助你縮小範圍。但是,我懷疑,因爲你似乎表明,問題是隻在IE瀏覽器,這是由於automatic semicolon insertion。爲此,我會通過JSLint運行腳本以幫助查找和糾正歧義。
感謝大家。這是一個對象字面值,但是由於JSLint,我發現缺少一個分號。 –
你說得對,我在網站上添加了一些AddThis代碼:{title}:{url}並且導致了問題。非常感謝! –