0
想象一下:你想用你在一個方法中接收到的XML元素做一些事情。所以你試試這個:哪裏可以報告Javascript錯誤?
function makeNiceThings(XMLDOM){
if(XMLDOM.getElementsByTagName("err")){
makeReallyNiceThings(XMLDOM.getElementsByTagName("err")[0].childNodes[0].nodeValue);
}
}
所以,Javascript告訴你你試圖從空引用中調用childNodes[0]
。但是,如果你嘗試:
function makeNiceThings(XMLDOM){
if(XMLDOM.getElementsByTagName("err")[0]){
makeReallyNiceThings(XMLDOM.getElementsByTagName("err")[0].childNodes[0].nodeValue);
}
}
它完美的工作。
但是,您有時會更新頁面,並且兩者都在重新工作,完全沒有問題。
我已經面對如此多的情況,我真的很想知道是否有一個地方我可以顯示這些奇怪的錯誤,以使JavaScript更好。谷歌回報我什麼,但只有地方發現程序員錯誤。想法?
帶有JavaScript本身的錯誤應該報告給*瀏覽器*的錯誤跟蹤器。雖然,這很可能是*不是JavaScript的錯誤。 –
那麼,我沒有看到一個問題。在第一個例子中,你可能會得到和*空陣列*這是**不是**沒有。所以條件成爲現實。而在第二個例子中,你做了你真正打算做的事情 - 檢查是否有索引爲0的元素。 – Timofey
這個**是程序員的錯誤**。不,JavaScript不會改變爲將數組(或者說,NodeLists/HTMLCollections)視爲虛假,因爲這會破壞成千上萬個其他網頁。 – Bergi