Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeError非对象属性加载意味着什么?_Javascript_Google Chrome - Fatal编程技术网

Javascript TypeError非对象属性加载意味着什么?

Javascript TypeError非对象属性加载意味着什么?,javascript,google-chrome,Javascript,Google Chrome,我在正在调试的javascript中看到了很多错误。在JS控制台中,Chrome所说的与 TypeError arguments: Array[2] message: "-" stack: "-" type: "non_object_property_load" __proto__: Error 我通常可以通过自己的方式解决根本问题,但一般来说,错误代表什么 有没有办法获取导致问题的行的堆栈跟踪?您正试图从null或未定义的访问某些内容 例如,此代码将引

我在正在调试的javascript中看到了很多错误。在JS控制台中,Chrome所说的与

TypeError
    arguments: Array[2]
    message: "-"
    stack: "-"
    type: "non_object_property_load"
    __proto__: Error
我通常可以通过自己的方式解决根本问题,但一般来说,错误代表什么


有没有办法获取导致问题的行的堆栈跟踪?

您正试图从
null
未定义的
访问某些内容

例如,此代码将引发以下错误:

null.foo;
您应该检查正在从哪些对象访问哪些属性,并使用类似于
obj和&obj.prop
的内容,而不仅仅是
obj.prop


您可以使用以下方法获取堆栈跟踪:

console.log(new Error().stack);

-
表示该属性是一个getter,不会自动显示,因为getter可能有副作用。堆栈可用(
-
并不表示“不可用”);您只需显式访问它。

在这种情况下,为什么chrome不像其他异常那样显示堆栈跟踪?@Leopd:您是通过控制台进行评估的吗?如果我能正常执行,它对我来说效果很好,例如,是的,像你的小提琴这样的简单箱子总是显示行号。它还表示“UncaughtTypeError:无法读取null的属性'foo',而不是模糊的消息。我只在深入复杂代码时看到“非对象属性加载”。我希望我知道为什么异常有时不能被正确捕获和呈现。谢谢你解释这部分。为什么它有时不能正确地抛出错误,这个谜团值得提出自己的问题。