我的一个警告是提供以下结果:
[object Object]
这究竟是什么意思? (这是一些jQuery对象的警告。)
答案 0 :(得分:35)
这意味着您正在警告对象的实例。当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
单独检查它们。
答案 1 :(得分:4)
alert()函数无法以读取友好的方式输出对象。请尝试使用console.log(object),然后启动浏览器的控制台进行调试。
答案 2 :(得分:3)
我在其他问题中写了这个答案,这个答案是重复的,很快我就想把答案搞定了,所以这里任何方式都是我的答案。我的两分钱,并希望其他方面有所帮助。
由于@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(""));
答案 3 :(得分:1)
如果你在DOM中弹出它,那么尝试将其包装在
中<pre>
<code>{JSON.stringify(REPLACE_WITH_OBJECT, null, 4)}</code>
</pre>
使视觉解析更容易一些。
答案 4 :(得分:1)
那是因为Javascript中有不同类型的对象!
例如
stringify(function (){})
-> [object Function]
stringify([])
-> [object Array]
stringify(/x/)
-> [object RegExp]
stringify(new Date)
-> [object Date]
...
stringify({})
-> [object Object]
构造函数称为Object
(大写“O”),术语“对象”(小写“o”)指的是事物的结构性质。
当您在 Javascript 中谈论“对象”时,您实际上指的是“对象对象”,而不是其他类型。
如果您想查看“[Object objects]”中的值,请使用:
console.log(JSON.stringify(result))
答案 5 :(得分:0)
警报不是显示对象的最佳选择。试试console.log?如果你仍然在控制台中看到Object Object,请使用像这样的JSON.parse&gt; var obj = JSON.parse(yourObject); console.log(obj)
答案 6 :(得分:0)
另一种选择是使用JSON.stringify(obj)
例如:
exampleObj = {'a':1,'b':2,'c':3};
alert(JSON.stringify(exampleObj))