[object] 与 [object object] 区别! 请指正!

luojihaidao 2009-03-19 10:01:55

<script type='text/javascript'>
function a(){};
alert({});
alert(document);
alert(new String('123'));
alert([1,2]);
alert(a)
</script>


结果:
[object objcet] 自定义的对象
[object] window对象
123 字条串
1,2 数组(toString方法)
function a(){} Function 对象

上为弹出的结果。

不知以上写的对不对???? 请指正。 以前没有注意[object objcet] 和 [object] 。
...全文
4940 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuzi_lan 2010-01-19
  • 打赏
  • 举报
回复
阿道夫
时光瞄 2009-03-20
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 luojihaidao 的回复:]
引用 5 楼 hzrui 的回复:
ecma规范要求toString 方法返回[object class]

不过大多数内部类覆盖了toString方法,所以只有自定义对象的会返回[object object]

客户端内建的对象一般class都是为Object(大写)

虽然很多类覆盖了toString方法,但是你可以用Object.prototype.toString.apply(o) 显示调用object.toString


谢谢, 你说对受益非浅

ecma规范要求toString 方法返回[object class]  ===》 我在FF和chro…
[/Quote]
^-^
hzrui 2009-03-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 Ghost_520 的回复:]

[Object Object] :这是一个对象集合,不知道楼主用过 dwr 没,如果用过了,就知道 {} 这是个什么了,

    var data = {
                  username:'abc',
                  userpwd :'123'
              }

  可以理解为 ,data 里面的 username ,userpwd 分别是两个不同的对象,而 data 这个就是存储这两个对象的集合。

  个人理解: 可以把 [Object Object] 看成一个对象集合。呵呵,纯属个人 YY。
[Object]: …
[/Quote]

楼上说法有误:
ecma规范要求toString 方法返回[object class]
并不是对象集合,可以看看我#5,6的回复
Ghost_520 2009-03-19
  • 打赏
  • 举报
回复

[Object Object] :这是一个对象集合,不知道楼主用过 dwr 没,如果用过了,就知道 {} 这是个什么了,

var data = {
username:'abc',
userpwd :'123'
}

可以理解为 ,data 里面的 username ,userpwd 分别是两个不同的对象,而 data 这个就是存储这两个对象的集合。

个人理解: 可以把 [Object Object] 看成一个对象集合。呵呵,纯属个人 YY。
[Object]: 仅仅是一个对象。
bob_cyl 2009-03-19
  • 打赏
  • 举报
回复
没搞明白
tantaiyizu 2009-03-19
  • 打赏
  • 举报
回复
Object obj = new Object()
hzrui 2009-03-19
  • 打赏
  • 举报
回复
[object objcet] 自定义的对象 没有覆盖toString方法,返回默认
[object] window对象 覆盖了toString方法,显式调用返回[object Object]
123 字条串 覆盖了toString方法,显式调用返回[object String]
....
...
...
hzrui 2009-03-19
  • 打赏
  • 举报
回复
ecma规范要求toString 方法返回[object class]

不过大多数内部类覆盖了toString方法,所以只有自定义对象的会返回[object object]

客户端内建的对象一般class都是为Object(大写)

虽然很多类覆盖了toString方法,但是你可以用Object.prototype.toString.apply(o) 显示调用object.toString
luojihaidao 2009-03-19
  • 打赏
  • 举报
回复
楼上的。
第二个Object代表用户自定义的对象的方法。

还是window对象???
浴火_凤凰 2009-03-19
  • 打赏
  • 举报
回复
楼主说得很好啊!
[object Object] 自定义的对象
第一个object代表用户自定义的对象的属性,第二个Object代表用户自定义的对象的方法。
[object] 只是代表一个window对象
牙签是竹子的 2009-03-19
  • 打赏
  • 举报
回复

yushuiyouyue 2009-03-19
  • 打赏
  • 举报
回复
对AJAX有兴趣的朋友,欢迎加入群78514534
对ASP.NET和C#有兴趣的朋友,欢迎加入67226009
wclszh 2009-03-19
  • 打赏
  • 举报
回复
不会,学习了
Ghost_520 2009-03-19
  • 打赏
  • 举报
回复

学习了。。。
luojihaidao 2009-03-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hzrui 的回复:]
ecma规范要求toString 方法返回[object class]

不过大多数内部类覆盖了toString方法,所以只有自定义对象的会返回[object object]

客户端内建的对象一般class都是为Object(大写)

虽然很多类覆盖了toString方法,但是你可以用Object.prototype.toString.apply(o) 显示调用object.toString
[/Quote]

谢谢, 你说对受益非浅

ecma规范要求toString 方法返回[object class] ===》 我在FF和chrome里面测试了一下:

结果:
[object Objcet] 自定义的对象 ( 第二Object为大写)
[object HTMLDocument] window对象(IE下为[object])



luojihaidao 2009-03-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 Ghost_520 的回复:]

[Object Object] :这是一个对象集合,不知道楼主用过 dwr 没,如果用过了,就知道 {} 这是个什么了,

var data = {
username:'abc',
userpwd :'123'
}

可以理解为 ,data 里面的 username ,userpwd 分别是两个不同的对象,而 data 这个就是存储这两个对象的集合。

个人理解: 可以把 [Object Object] 看成一个对象集合。呵呵,纯属个人 YY。

[/Quote]

这位朋友好像还没有怎么明白对象, 应该把对象和对象集合区分一下。 对你的看法谢谢!

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧