JavaScript中,函数的参数在函数体内部是只读的,也就是说不能直接修改函数的参数。但是可以通过其他方式来改变函数内部的参数值。以下是一些常用的方式:
function updateParam(param) {
let newParam = param; // 将参数值赋给新的变量
newParam = '新的值'; // 修改新的变量的值
console.log(newParam); // 输出:新的值
}
const paramValue = '旧的值';
updateParam(paramValue);
console.log(paramValue); // 输出:旧的值,函数体外部的参数值未改变
function updateParam(obj) {
obj.param = '新的值'; // 修改对象的属性值
console.log(obj.param); // 输出:新的值
}
const paramObj = { param: '旧的值' };
updateParam(paramObj);
console.log(paramObj.param); // 输出:新的值,函数体外部的参数值已改变
function updateParam(arr) {
arr[0] = '新的值'; // 修改数组的元素值
console.log(arr[0]); // 输出:新的值
}
const paramArr = ['旧的值'];
updateParam(paramArr);
console.log(paramArr[0]); // 输出:新的值,函数体外部的参数值已改变
需要注意的是,这些方式只能改变函数内部的参数值,不会影响函数体外部的参数值。如果需要修改外部的参数值,可以通过返回新的值或者对象来实现。
领取专属 10元无门槛券
手把手带您无忧上云