P粉8183174102023-08-21 12:37:52
正如其他人所指出的那样,这是对象的默认序列化。但为什么它是[object Object]
而不仅仅是[object]
呢?
那是因为在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中谈论“对象”时,实际上是指“对象对象”,而不是其他类型。
其中stringify
应该是这样的:
function stringify (x) { console.log(Object.prototype.toString.call(x)); }
P粉6114563092023-08-21 11:12:52
将对象转换为字符串的默认结果是"[object Object]"
。
由于您正在处理jQuery对象,您可能希望执行以下操作
alert(whichIsVisible()[0].id);
以打印元素的ID。
如评论中所提到的,您应该使用Firefox或Chrome等浏览器中包含的工具来检查对象,而不是使用alert
,方法是执行console.log(whichIsVisible())
。
附注:ID不应以数字开头。