簡體   English   中英

在哪里報告Javascript錯誤?

[英]Where to report Javascript bugs?

想象一下:您想使用在方法中收到的XML元素來做一些事情。 所以你試試這個:

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更好。 Google除了發現程序員錯誤的地方之外沒有給我任何回報。 想法?

好吧,我在那里看不到問題。 在第一個示例中,您可能會得到並清空數組 ,這並非沒有。 因此條件變為真。 而在第二個示例中,您將執行真正的工作—檢查是否存在索引為0的元素。
或者,如果您真的確信這不是您的錯,則應該按照Rocket Hazmat所說的做:

JavaScript本身的錯誤應報告給瀏覽器的錯誤跟蹤器。 雖然,這可能不是JavaScript的錯誤。

但是很可能這是代碼中的錯誤。 如果沒有err元素,您將得到一個空數組 ,條件將被評估為true 但是沒有第0個元素-這就是為什么要獲得豁免。
希望那是清楚的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM