[ Object Object ]是什么意思? (JavaScript)

我的提醒之一是给出以下结果:

[object Object]

这到底意味着什么? (这是一个关于某个 jQuery 对象的警告。)

190202 次浏览

Alert ()函数不能以读取友好的方式输出对象。尝试使用 console. log (object) ,然后启动浏览器的控制台进行调试。

这意味着您正在警告对象的实例。当 alerting 对象时,对该对象调用 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.logJSON.stringify()或枚举它的属性,并使用 for in分别检查它们。

正如@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(""));
// or console.log(strBuilder.join(""))

Https://jsfiddle.net/b1u6hfns/

警报不是显示对象的最佳方式。试试控制台日志?如果您仍然在控制台中看到对象对象,可以像这样使用 JSON.parse > var obj = JSON.parse(yourObject); console.log(obj)

如果要在 DOM 中弹出它,那么尝试包装它

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

使得视觉解析更加容易。

另一种选择是使用 JSON.stringify(obj)

例如:

exampleObj = {'a':1,'b':2,'c':3};
alert(JSON.stringify(exampleObj))

Https://www.w3schools.com/js/js_json_stringify.asp

这是因为在 Javascript 中有不同类型的对象!

比如说

  • 功能对象:

- > [object Function]

  • 数组对象:

- > [object Array]

  • RegExp 对象

- > [object RegExp]

  • 日期对象

- > [object Date]

...
  • 物体!

- > [object Object]

构造函数称为 Object(大写“ O”) ,术语“ object”(小写“ o”)指的是事物的结构性质。

当你在谈论 Javascript 中的“对象”时,你实际上指的是“ 物体”,而不是其他类型。

如果你想看到“ [物体对象]”中的值,使用:

console.log(JSON.stringify(result))

在我的例子中,我得到[ Object,Object ] ,因为我正在做

console.log("particular_object" + particular_object)

而不是

console.log("particular_object")
console.log(particular_object)

我猜在对象的同一个 console. log 中添加另一个字符串会阻止对象加载。

但大多数情况下,你只需要做:

JSON.stringify(particular_object))

在我的情况下,我得到 [object Objects]时,我做了以下事情:

const person2 = {
name: "Jo",
age: 27,
address: {
city: "Some city",
state: "Some state"
}
}


const requestedPerson = person2


const {
name,
age,
address,
favFood = "Not defined"
} = requestedPerson


console.log(`Address: ${address}`);

这和使用:

console.log("Address: " + address)

解决方案: 我通过简单地使用一个逗号使它工作:

console.log("Address:", address)