84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
我正在尝试从一个函数中alert返回的值,并且在弹出框中得到了以下内容:
alert
[object Object]
以下是JavaScript代码:
whichIsVisible是我正在尝试检查的函数。
whichIsVisible
正如其他人指出的那样,这是一个对象的默认序列化。但为什么它是[object Object]而不只是[object]呢?
[object]
这是因为在Javascript中有不同类型的对象!
stringify(function (){})
[object Function]
stringify([])
[object Array]
stringify(/x/)
[object RegExp]
stringify(new Date)
[object Date]
stringify({})
这是因为构造函数被称为Object(大写的“O”),而术语“object”(小写的“o”)指的是该物体的结构性质。
Object
通常,在Javascript中谈论“objects”时,实际上是指的“对象对象”,而不是其他类型。
其中stringify应该是这样的:
stringify
function stringify (x) { console.log(Object.prototype.toString.call(x)); }
将对象转换为字符串的默认结果是"[object Object]"。
"[object Object]"
由于您正在处理jQuery对象,您可能想执行以下操作
alert(whichIsVisible()[0].id);
以打印元素的ID。
如评论中所提到的,您应该使用Firefox或Chrome等浏览器中包含的工具来检查对象,而不是使用alert,可以执行console.log(whichIsVisible())。
console.log(whichIsVisible())
附注:ID不应以数字开头。
正如其他人指出的那样,这是一个对象的默认序列化。但为什么它是
[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中谈论“objects”时,实际上是指的“对象对象”,而不是其他类型。
其中
stringify
应该是这样的:将对象转换为字符串的默认结果是
"[object Object]"
。由于您正在处理jQuery对象,您可能想执行以下操作
以打印元素的ID。
如评论中所提到的,您应该使用Firefox或Chrome等浏览器中包含的工具来检查对象,而不是使用
alert
,可以执行console.log(whichIsVisible())
。附注:ID不应以数字开头。