JavaScript 是按值传递还是按引用传递的

2025-04-11 03:28:06
推荐回答(2个)
回答1:

值传递仅仅传递的是值
引用传递,传递的是内存地址,修改后会改变内存地址对应储存的值。
用数组来举例就最清楚了,例如我们定义一个数组a[]={1,2};
那么a[0]=1,a[1]=2。
如果我们把数组a里的元素值作为参数传递,实际上只是进行了值传递,对数组本身没有影响
如果我们把 数组a的指针作为参数传递,那么假如处理的函数就可以直接修改数组a里的值。
代码实例:(只是写个大概的逻辑,语法可能有错误)
main()
{
int a[]={1,2};
test(a);
printf(a[0]); //此处打印的值是3, 这就是引用传递。
}
public void test(int b[])
{
b[0]=3;
}

回答2:

js是传值的,对象类型的值其实是个内存地址,比如你家的地址,你告诉人家你家地址是xx路xx号,别人就根据这个地址找到你家的位置,所以说xx路xx号就是一个对象类型的值,不管这个值复制多少遍,他所指向的都是同一个地方,也就都会找到那个地方的唯一一个对象这就是对象类型的值是地址而不是真正对象本身