0

所以这是一个更普遍的问题。关于为什么这个和那个返回这个错误有数百个问题,但我想更深入地了解以更快地解决这些问题。或者只是学习一些新东西。如果有人能找到解释的参考,我很乐意结束这个问题,但我就是找不到。

  1. 缺少什么?
  2. 是浏览器 javascript 编译器抛出错误还是 jQuery?
  3. 什么是对象[对象对象]?
4

2 回答 2

3

缺少什么?

您正在尝试调用不存在的对象的方法。例如:

var foo = {};
foo.bar();

如果该属性确实存在,但不是函数,您将收到类似于以下内容的错误:

TypeError: Property 'bar' of object #<Object> is not a function

注意:不同的浏览器显示不同的错误信息,这个来自 Chrome。


是浏览器 javascript 编译器抛出错误还是 jQuery?

它是 JavaScript 运行时引擎。它与 jQuery 无关。


什么是对象[对象对象]?

[object Object]是对象的默认字符串表示。尝试:

alert({});

您可以通过实现以下toString方法来覆盖它:

var foo = {
    toString: function() {
        return "I'm a boring object.";
    }
};
alert(foo);
于 2013-01-16T17:29:23.903 回答
0

[object Object] 是对象的默认 toString 方法返回的内容。当您看到此错误时,这意味着您正在尝试调用一个对象上的方法,该对象没有具有该名称的属性,并且尚未覆盖其 toString 方法。

如果您看到此消息,您应该使用 firebug 或其他调试工具检查它发生在哪一行,并尝试了解为什么消息中“方法”之后的属性名称在调用对象上不存在。

This has nothing in particular to do with jQuery. It is simply the default error thrown when a property doesn't exist on an object.

于 2013-01-16T17:30:19.410 回答