jquery [object对象]是什么意思?(JavaScript)

hivapdat  于 2023-02-03  发布在  jQuery
关注(0)|答案(9)|浏览(209)

我的一个警报给出了以下结果:

[object Object]

这到底意味着什么?(这是某个jQuery对象的警报。

t98cgbkg

t98cgbkg1#

alert()函数不能以一种可读的方式输出一个对象。尝试使用console.log(object)代替,并启动浏览器的控制台进行调试。

gcmastyq

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]"中的值,请使用:

console.log(JSON.stringify(result))
58wvjzkj

58wvjzkj3#

如果要将其弹出到DOM中,请尝试将其 Package 到

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

使可视化解析变得更容易。

7gyucuyw

7gyucuyw4#

另一个选项是使用JSON.stringify(obj)
例如:

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

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

3npbholx

3npbholx5#

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

console.log("particular_object" + particular_object)

代替

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

我猜在对象的同一个console.log中添加另一个字符串会阻止对象加载。
但大多数情况下,您只需:

JSON.stringify(particular_object))
bttbmeg0

bttbmeg06#

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

kknvjkwl

kknvjkwl7#

在我的例子中,当我执行以下操作时,我得到了[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)
mrfwxfqh

mrfwxfqh8#

这意味着你正在提醒一个对象的示例,当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分别检查它们。

ui7jx7zq

ui7jx7zq9#

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

相关问题