gpt4 book ai didi

JavaScript - 如何/可以从函数中将对象引用设置为 null?

转载 作者:可可西里 更新时间:2023-11-01 02:58:17 24 4
gpt4 key购买 nike

我想知道这是否可能。基本上我有几个传递给函数的对象,在某些情况下我希望该函数将对象设置为 null。

例如

var o = {'val' : 0};

f = function(v)
{
v = null;
};

f(o); // Would like this to set 'o' to null

不幸的是,我似乎只能将函数的参数设置为 null。调用函数后,“o”仍将引用一个对象。

那么,有没有可能做到这一点?如果是这样,怎么做到的?

最佳答案

如果你想在 f(o) 被调用时改变 o 的值,你有两个选择:

1) 您可以让 f(o) 为 o 返回一个新值并将其分配给 o,如下所示:

var o = {'val' : 0};
o = f(o);
// o == null

f() 内部,您为 o 返回一个新值。

function f(v) {
if (whatever) {
return(null);
}
}

2) 您将 o 放入另一个对象并将对该容器对象的引用传递给 f()

function f(v) {
if (whatever) {
v.o = null;
}
}

var c = {};
c.o = {'val' : 0};

f(c);
// c.o == null;

javascript 语言没有像 C/C++ 中那样的真正指针,它允许您将指针传递给变量,然后通过该指针返回以从函数内部更改该变量的值。相反,您必须使用其他两种方式之一。对象和数组通过引用传递,因此您可以从函数返回到原始对象。

关于JavaScript - 如何/可以从函数中将对象引用设置为 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9205070/

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