所以这是一个更普遍的问题。关于为什么这个和那个返回这个错误有几百个问题,但我想更深入地了解更快地解决这些问题。或者只是学习新东西。如果有人可以找到解释的参考,我将很乐意结束这个问题,但我找不到一个。
答案 0 :(得分:3)
缺少什么?
您正在尝试调用不存在的对象的方法。例如:
var foo = {};
foo.bar();
如果属性确实存在,但不是函数,则会出现类似于以下错误:
TypeError: Property 'bar' of object #<Object> is not a function
注意:不同的浏览器会显示不同的错误消息,此消息来自Chrome。
是浏览器javascript编译器抛出错误还是jQuery?
这是JavaScript运行时引擎。它与jQuery无关。
什么是Object [object Object]?
[object Object]
是对象的默认字符串表示形式。尝试:
alert({});
您可以通过实施toString
方法覆盖它:
var foo = {
toString: function() {
return "I'm a boring object.";
}
};
alert(foo);
答案 1 :(得分:0)
[object Object]是对象的默认toString方法返回的内容。当您看到此错误时,这意味着您正在尝试在没有具有该名称的属性的对象上调用方法,并且尚未覆盖其toString方法。
如果您看到此消息,则应使用firebug或其他一些调试工具检查它出现在哪一行,并尝试理解为什么调用对象上不存在消息中“method”之后的属性名称。
这与jQuery没有任何关系。它只是在对象上不存在属性时抛出的默认错误。