1.15 复杂对象具有动态属性
一个新变量,指向现有的复杂对象,并没有复制该对象。这就是复杂对象有时被称为引用对象的原因。复杂对象可以根据需求有任意多个引用,即使对象改变,它们也总是指向同一个对象。
<!DOCTYPE html><html lang="en"><body><script>
var objA = { property: 'value' };
var pointer1 = objA;
var pointer2 = pointer1;
// 更新objA.property, 所有引用(pointer1和pointer2)都被更新了
objA.property = null;
// 输出 'null null null' ,因为objA, pointer1和pointer2引用的都是同一对象
console.log(objA.property, pointer1.property, pointer2.property);
</script></body></html>
复杂对象支持动态对象属性,因为我们可以定义对象,然后创建引用,再更新对象,并且所有指向该对象的变量都会“获得”更新。
时间: 2024-10-31 06:28:55