在 JavaScript 中,当尝试警告或记录以下值时,您可能会遇到字符串“[object Object]”一个物体。该字符串表示对象的默认序列化,提供对对象类型的深入了解。
与某些编程语言不同,JavaScript有各种对象类型。每种类型都由其构造函数标识。以下示例说明了不同对象类型的序列化:
function stringify(x) { console.log(Object.prototype.toString.call(x)); } stringify(function () {}); // [object Function] stringify([]); // [object Array] stringify(/x/); // [object RegExp] stringify(new Date); // [object Date] stringify({}); // [object Object]
在 JavaScript 中,术语“对象”(小写)通常指事物的结构性质。然而,当具体讨论“对象”时,开发人员通常指的是“Object 对象”(大写)。这是因为这些对象的构造函数称为 Object。
在您提供的代码中,函数whichIsVisible() 返回一个表示可见元素的对象。当您尝试警告返回值时,JavaScript 会将对象序列化为“[object Object]”,因为它是一个 Object 对象。
要显示实际元素而不是序列化字符串,您可以修改该函数以返回元素的 ID:
function whichIsVisible() { if (!.is(':hidden')) return .attr('id'); if (!.is(':hidden')) return .attr('id'); }
以上是为什么 JavaScript 在记录对象时显示'[object Object]”?的详细内容。更多信息请关注PHP中文网其他相关文章!