如何为首选项对象javascript设置新值?

时间:2017-10-31 11:20:48

标签: javascript object preference

var objectA = {x: 10, y: 10};
var objectB = objectA;

    objectB.x = 100;
    objectB.y = 100;
    console.log(objectA) => {x: 100, y: 100}

    but:
    objectB = null;
    console.log(objbectA) => {x: 10, y: 10} // Not null

如何设置objectA = nullobjectB

2 个答案:

答案 0 :(得分:0)

当您执行var objectB = objectA时,您只是复制引用而不是实际值。这就是为什么当你将objectB设置为null时,它被设置为null但是ObjectA中的引用仍然存在。

答案 1 :(得分:0)

你做不到。当对象在内存中分配时,它会一直保留到释放状态。在您的情况下,两个变量都指向相同的内存位置。没有办法使它变为null,但是你调用这个对象的方法,它将清除值:

var objectA = {x: 10, y: 10, clear: function() { this.x = 0; this.y = 0; }};
var objectB = objectA;

objectB.x = 100;
objectB.y = 100;
console.log(objectA) => {x: 100, y: 100}


objectB.clear();
console.log(objbectA) => {x: 0, y: 0}
console.log(objbectB) => {x: 0, y: 0}