Javascript JS中有没有模仿';通过引用调用';?

Javascript JS中有没有模仿';通过引用调用';?,javascript,Javascript,我认为JavaScript用户大部分时间都花在处理对象上。 对于对象,我们可以按如下方式通过引用调用 let obj = { } function f (parameter) { } f(obj) (参数和obj引用同一个对象,{}) 然而,我想知道是否有一种方法可以将这种工作应用于原始值 let a = 0 function f (parameter) { parameter = parameter + 1 } f(a) 这不起作用,因为a和参数只是不同的变量 有没有办法模仿C

我认为JavaScript用户大部分时间都花在处理对象上。 对于对象,我们可以按如下方式通过引用调用

let obj = { }

function f (parameter) { }

f(obj)
(参数和obj引用同一个对象,{})

然而,我想知道是否有一种方法可以将这种工作应用于原始值

let a = 0

function f (parameter) {
  parameter = parameter + 1
}

f(a)
这不起作用,因为a和参数只是不同的变量

有没有办法模仿C中的以下代码

void f (int* x) {
    *x = *x + 1;
}

int main () {
    int a = 0;
    f(&a);

对于对象,我们可以按如下方式通过引用调用。这里没有引用调用。@ScottMarcus此处引用的意思是传递对象的地址。基本上,OP试图影响函数作用域之外的变量。这看起来像是数组的副本,我认为数组是这样的异常:比如
a=[1,2,3];b=a;b、 pop()现在a==[1,2]。。。顺便说一句,要克服这一点:
b=a.slice()
,如果
a=[1,2,3],则要比较数组;b=[1,2,3]a=b、 但是
JSON.stringify(a)=JSON.stringify(b)
将返回
true
。在对象和数组中引用yes。但不确定int/stringsAnd对于对象,我们可以如下通过引用调用。这里没有引用调用。@ScottMarcus此处引用的意思是传递对象的地址。基本上,OP试图影响函数作用域之外的变量。这看起来像是数组的副本,我认为数组是这样的异常:比如
a=[1,2,3];b=a;b、 pop()现在a==[1,2]。。。顺便说一句,要克服这一点:
b=a.slice()
,如果
a=[1,2,3],则要比较数组;b=[1,2,3]a=b、 但是
JSON.stringify(a)=JSON.stringify(b)
将返回
true
。在对象和数组中引用yes。但不确定int/strings