我的警报之一给出了以下结果:
[object Object]
这究竟是什么意思?(这是一些 jQuery 对象的警报。)
我的警报之一给出了以下结果:
[object Object]
这究竟是什么意思?(这是一些 jQuery 对象的警报。)
这意味着您正在提醒一个对象的实例。当alert
ing 对象时,在对象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
.
由于@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(""))
alert() 函数无法以可读的方式输出对象。尝试使用 console.log(object) 代替,并启动浏览器的控制台进行调试。
如果你在 DOM 中弹出它,然后尝试将它包装在
<pre>
<code>{JSON.stringify(REPLACE_WITH_OBJECT, null, 4)}</code>
</pre>
使视觉解析更容易一些。
那是因为 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))