是什么意思? (JavaScript的)

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

[object Object] 

这究竟是什么意思? (这是一些jQuery对象的警报。)

这意味着您正在警告对象的实例。 在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单独检查它们。

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

我在其他问题中写了这个答案,这个答案是重复的,很快我就想把答案搞定了,所以这里任何方式都是我的答案。 我的两分钱,并希望其他任何方面的帮助。

由于@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/

警报不是显示对象的最佳选择。 试试console.log? 如果您仍然在控制台中看到Object Object,请使用JSON.parse,如下所示> var obj = JSON.parse(yourObject); console.log(obj) var obj = JSON.parse(yourObject); console.log(obj)

如果你在DOM中弹出它,那么尝试将其包装进去

 
 {JSON.stringify(REPLACE_WITH_OBJECT, null, 4)} 

使视觉解析更容易一些。