gpt4 book ai didi

Javascript - 如何取消底层引用?

转载 作者:搜寻专家 更新时间:2023-11-01 05:02:26 24 4
gpt4 key购买 nike

给出这个 javascript 代码:

this.underlyingReference = {name: 'joe'};

this.nullMe(this.underlyingReference);

alert(this.underlyingReference.name);

function nullMe(variable) {
variable = null;
}

在 Javascript 中有没有办法让我使用“变量”使 this.underlyingReference 为空?我希望能够清空变量并清空基础引用,而不是简单地清空对引用的引用。

我读过这样的文章 http://snook.ca/archives/javascript/javascript_pass关于 Javascript 的引用传递功能,但看起来好像当你想销毁底层引用时,行为并不是我对引用的期望。

当执行通过第二行代码时,我希望“this.underlyingReference”无效。然而,警告线显示底层引用仍然存在并且在运行。

最佳答案

为什么不直接将 null 分配给该属性:

this.underlyingReference = null;
alert(this.underlyingReference);// null

或者,如果你想销毁属性,你可以使用删除:

delete this.underlyingReference;
alert(this.underlyingReference);// undefined

如果你还想有一个函数调用,你可以使用这个设置:

var NullMe = function(obj, propName) 
{
obj[propName] = null;
//OR, to destroy the prop:
delete obj[propName];
}
NullMe(this, 'underlyingReference');

关于Javascript - 如何取消底层引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7230178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com