在 javascript 中传递参数有两种方法:按值传递(将参数值复制一份传递)和按引用传递(将参数引用传递)。按值传递不会影响原始变量,而按引用传递(使用复杂数据类型模拟)会影响原始变量。
如何在 JavaScript 中传递参数
在 JavaScript 中,有两种主要方法可以向函数传递参数:
1. 按值传递
按值传递是指将参数的值复制一份传递给函数。这意味着在函数内部对参数所做的任何更改都不会影响原始变量。
function sum(num1, num2) {
num1 = num1 + 1;
return num1 + num2;
}
const a = 1;
const b = 2;
const result = sum(a, b);
console.log(a); // 输出:1
console.log(b); // 输出:2
console.log(result); // 输出:4
在这个示例中,sum() 函数接收两个按值传递的参数。num1 的值在函数内被修改为 2,但原始变量 a 的值保持不变。
2. 按引用传递
按引用传递是指将参数的引用传递给函数。这意味着在函数内部对参数所做的任何更改都会影响原始变量。
注意:JavaScript 没有真正的按引用传递机制。然而,可以使用对象或数组等复杂数据类型来模拟按引用传递。
要模拟按引用传递,可以使用以下方法:
使用对象
function modifyObject(obj) {
obj.property = "new value";
}
const obj = { property: "initial value" };
modifyObject(obj);
console.log(obj.property); // 输出:new value
使用数组
function modifyArray(arr) {
arr[0] = "new value";
}
const arr = ["initial value"];
modifyArray(arr);
console.log(arr[0]); // 输出:new value