我的一个警报给出了以下结果:
[object Object]
这到底意味着什么?(这是某个jQuery对象的警报。
t98cgbkg1#
alert()函数不能以一种可读的方式输出一个对象。尝试使用console.log(object)代替,并启动浏览器的控制台进行调试。
gcmastyq2#
这是因为在Javascript中有不同类型的对象!例如
stringify(function (){})-〉[object Function]
stringify(function (){})
[object Function]
stringify([])-〉[object Array]
stringify([])
[object Array]
stringify(/x/)-〉[object RegExp]
stringify(/x/)
[object RegExp]
stringify(new Date)-〉[object Date]
stringify(new Date)
[object Date]
...
stringify({})-〉[object Object]构造函数被称为Object(大写"O"),术语"object"(小写"o")指的是事物的结构性质。当你在Javascript中谈论"对象"时,你实际上指的是"Object对象",而不是其他类型。如果要查看"[Object objects]"中的值,请使用:
stringify({})
Object
console.log(JSON.stringify(result))
58wvjzkj3#
如果要将其弹出到DOM中,请尝试将其 Package 到
<pre> <code>{JSON.stringify(REPLACE_WITH_OBJECT, null, 4)}</code> </pre>
使可视化解析变得更容易。
7gyucuyw4#
另一个选项是使用JSON.stringify(obj)例如:
JSON.stringify(obj)
exampleObj = {'a':1,'b':2,'c':3}; alert(JSON.stringify(exampleObj))
https://www.w3schools.com/js/js_json_stringify.asp
3npbholx5#
在我的例子中,我得到了[Object,Object],因为我在做
console.log("particular_object" + particular_object)
代替
console.log("particular_object") console.log(particular_object)
我猜在对象的同一个console.log中添加另一个字符串会阻止对象加载。但大多数情况下,您只需:
JSON.stringify(particular_object))
bttbmeg06#
警报不是显示对象的最佳方式。尝试使用console.log?如果您仍然在控制台中看到Object Object,请使用JSON.parse,如下所示〉var obj = JSON.parse(yourObject); console.log(obj)
var obj = JSON.parse(yourObject); console.log(obj)
kknvjkwl7#
在我的例子中,当我执行以下操作时,我得到了[object Objects]:
[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)
mrfwxfqh8#
这意味着你正在提醒一个对象的示例,当alert调用对象时,toString()在对象上被调用,默认的实现返回[object Object]。
alert
toString()
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分别检查它们。
console.log
JSON.stringify()
for in
ui7jx7zq9#
@Matt已经解释了[object object]的原因,我想详细说明一下如何检查对象的值,我想到了三个选项:
[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/
9条答案
按热度按时间t98cgbkg1#
alert()函数不能以一种可读的方式输出一个对象。尝试使用console.log(object)代替,并启动浏览器的控制台进行调试。
gcmastyq2#
这是因为在Javascript中有不同类型的对象!
例如
stringify(function (){})
-〉[object Function]
stringify([])
-〉[object Array]
stringify(/x/)
-〉[object RegExp]
stringify(new Date)
-〉[object Date]
stringify({})
-〉[object Object]
构造函数被称为
Object
(大写"O"),术语"object"(小写"o")指的是事物的结构性质。当你在Javascript中谈论"对象"时,你实际上指的是"Object对象",而不是其他类型。
如果要查看"[Object objects]"中的值,请使用:
58wvjzkj3#
如果要将其弹出到DOM中,请尝试将其 Package 到
使可视化解析变得更容易。
7gyucuyw4#
另一个选项是使用
JSON.stringify(obj)
例如:
https://www.w3schools.com/js/js_json_stringify.asp
3npbholx5#
在我的例子中,我得到了[Object,Object],因为我在做
代替
我猜在对象的同一个console.log中添加另一个字符串会阻止对象加载。
但大多数情况下,您只需:
bttbmeg06#
警报不是显示对象的最佳方式。尝试使用console.log?如果您仍然在控制台中看到Object Object,请使用JSON.parse,如下所示〉
var obj = JSON.parse(yourObject); console.log(obj)
kknvjkwl7#
在我的例子中,当我执行以下操作时,我得到了
[object Objects]
:这就像使用:
**解决方案:**我只使用了一个逗号:
mrfwxfqh8#
这意味着你正在提醒一个对象的示例,当
alert
调用对象时,toString()
在对象上被调用,默认的实现返回[object Object]
。如果您想检查对象,您应该
console.log
它,JSON.stringify()
它,或者枚举它的属性并使用for in
分别检查它们。ui7jx7zq9#
@Matt已经解释了
[object object]
的原因,我想详细说明一下如何检查对象的值,我想到了三个选项:JSON.stringify(JSONobject)
console.log(JSONobject)
基本示例。
https://jsfiddle.net/b1u6hfns/