Что означает [объект объекта]?(JavaScript) - PullRequest
27 голосов
/ 17 января 2012

Одно из моих предупреждений дает следующий результат:

[object Object] 

Что это значит точно? (Это было предупреждение о некотором объекте jQuery.)

Ответы [ 5 ]

36 голосов
/ 17 января 2012

Это означает, что вы предупреждаете экземпляр объекта.Когда объект alert вызывается, toString() вызывается для объекта, и реализация по умолчанию возвращает [object Object].

var objA = {};
var objB = new Object;
var objC = {};

objC.toString = function () { return "objC" };

alert(objA); // [object Object]
alert(objB); // [object Object]
alert(objC); // objC

Если вы хотите проверить объект, вы должны либо console.log его, JSON.stringify() или перечислите его свойства и проверьте их индивидуально, используя for in.

4 голосов
/ 17 января 2012

Функция alert () не может выводить объект в удобном для чтения виде.Попробуйте вместо этого использовать console.log (object) и запустите консоль браузера для отладки.

3 голосов
/ 04 июня 2015

Я написал этот ответ в другом вопросе, который дублировал его, и вскоре я хочу, чтобы ответ был близок, так что в любом случае, вот мой ответ.мои два цента, и надеюсь, что что-то еще поможет.

Поскольку @Matt ответил на причину [object object], поэтому у вас есть три варианта JSON.stringify(JSONobject), console.log(JSONobject) или перебрать объект, посмотрите следующеебазовый пример.

var jsonObj={
    property1 : "one",
    property2 : "two",
    property3 : "three",
    property4 : "fourth",
};

var strBuilder = [];
for(key in jsonObj){
      if (jsonObj.hasOwnProperty(key)) {
         strBuilder.push("Key is " + key + ", value is " + jsonObj[key] + "\n");
    }
}

alert(strBuilder.join(""));

https://jsfiddle.net/b1u6hfns/

1 голос
/ 03 апреля 2018

Если вы вставляете его в DOM, попробуйте обернуть его в

<pre>
    <code>{JSON.stringify(REPLACE_WITH_OBJECT, null, 4)}

, что немного облегчает визуальный анализ.

0 голосов
/ 06 января 2018

Оповещения не лучшие для отображения объектов.Попробуйте console.log?Если вы все еще видите Object Object в консоли, используйте JSON.parse, как это> var obj = JSON.parse(yourObject); console.log(obj)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...