在 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