引用类型赋值后,改变其中一个会影响其他的,如下:
var obj1 = { name: 'hello' };var obj2 = obj1; obj2.name = 'world';console.log(obj1); // {name: "world"}console.log(obj2); // {name: "world"}
以上增删改其中一个引用类型的属性,会影响其他。
但是下面整个重新赋值(无论obj1或obj2被重新赋值为任何其他引用类型或基本类型的值)其中一个,不会影响其他怎么解释呢?
var obj1 = { name: 'hello' };var obj2 = obj1; obj1 = {};console.log(obj1); // {}console.log(obj2); // {name: "hello"}
var obj1 = { name: 'hello' };var obj2 = obj1; obj2 = {};console.log(obj1); // {name: "hello"}console.log(obj2); // {}
肥皂起泡泡
繁星点点滴滴
相关分类