Javascript JS中有没有模仿';通过引用调用';?
我认为JavaScript用户大部分时间都花在处理对象上。 对于对象,我们可以按如下方式通过引用调用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
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