关于javascript,[object,object]是什么?

关于javascript,[object,object]是什么?

2009-07-19 11:10 遗忘之花再开时  |  浏览 22221 次
alert(对象)的时候 页面弹出的就是[object,object]  它代表什么?

谢谢 :)
2009-07-19 13:48 提问者采纳
代表那个对象是一个包着对象的对象。

呵呵, 有点绕。

就是比如:

var a = new Object();

a.abc = new Object();

a.abc.a123 = new Object();

这就是[object Object] 

补充:简单的写法:
var a = {
    abc : {
        a123 : {}
    }
};
提问者评价
3q
评论(7)  |  44  19
2012-8-5 14:42 anjia9902011
回复 element2:这个答案正确 回复
2012-3-7 10:02 element2
这个答案不对,下面那个答案是对的,alert会调用变量的toString方法,toString会生成[object classname]的结果,第一个object表示变量是对象,不是值类型,classname表示该对象的类名。[object Object]前面一个object表示他是对象,后面一个Object表示它是Object类的。 回复

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Object.assign方法主要用于对象合并,将源对象中的属性复制到目标对象中,同时返回目标对象,具体用法如下[^1]: 假设我们有两个对象,obj1和obj2,我们将obj2的属性复制到obj1中。代码如下: ```javascript let obj1 = { a: 1 }; let obj2 = { b: 2, c: 3 }; let obj3 = Object.assign(obj1, obj2); console.log(obj1); // 输出:{ a: 1, b: 2, c: 3 } console.log(obj2); // 输出:{ b: 2, c: 3 } console.log(obj3); // 输出:{ a: 1, b: 2, c: 3 } ``` 在上面的代码中,Object.assign将obj2的属性复制到了obj1中,并返回了obj1。可以看到,obj1的属性被修改了,obj2的属性并没有受到影响,而obj3与obj1是完全相同的对象。 需要注意的是,Object.assign是浅拷贝,如果源对象的属性值是一个对象或其他复合类型的值,那么目标对象属性值将是一个指向源对象属性值的引用。因此,如果源对象属性值被修改了,目标对象属性值也会发生变化。 例如: ```javascript let obj1 = { a: 1, obj: { b: 2 } }; let obj2 = { c: 3 }; let obj3 = Object.assign({}, obj1, obj2); console.log(obj3); // 输出:{ a: 1, obj: { b: 2 }, c: 3 } obj1.obj.b = 4; console.log(obj3); // 输出:{ a: 1, obj: { b: 4 }, c: 3 } ``` 上面的代码中,我们将obj1和obj2合并到了一个新的对象obj3中,并打印了obj3。然后,我们修改了obj1中obj属性的值,obj3也随之发生了变化。这是因为obj1和obj3中的obj属性引用的是同一个对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值