关于new Object的小结

1 obj1={a:1,b:1};
2 obj2=new Object(obj1);      
3 console.log(obj1==obj2);        //输出true             
4 console.log(obj1===obj2);       //输出true

使用new Object(obj1)来创建obj2,会使obj2和obj1完全指向同一个对象,当改变obj1的对象属性时,obj2也会改变。

1 obj1={a:1,b:1};
2 obj2=new Object({a:1,b:1});    //等价于obj2={a:1,b:1},obj2和obj1是指向不同的对象
3 console.log(obj1==obj2);        //输出false          
4 console.log(obj1===obj2);       //输出false 

当使用和obj1对象相同的字面量来创建obj2时,obj1和obj2是指向两个不同的对象。当改变obj1的对象属性时,obj2不会改变。

原文地址:https://www.cnblogs.com/c4633/p/7767145.html