gpt4 book ai didi

javascript - 在哪里报告 Javascript 错误?

转载 作者:行者123 更新时间:2023-11-29 16:54:25 25 4
gpt4 key购买 nike

想象一下:您想使用在方法中接收到的 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说:

Bugs with JavaScript itself should be reported to the bug tracker of the browser. Though, chances are this is not a bug with JavaScript.

但这很可能是代码中的一个错误。如果没有 err 元素,您将得到一个空数组,条件将被评估为 true;但是没有第 0 个元素——这就是为什么你得到一个异常(exception)。
希望这很清楚。

关于javascript - 在哪里报告 Javascript 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33483042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com