js参数传递数组对象,修改此参数,会影响原数组吗
1个回答
展开全部
会不会修改原数组需要看你的函数里面的方法改变没有改变原数组的数据,举个例子:
1,方法中改变了原数据的,会影响原数组
var a = [1,2,3];
function test(arr){
arr[0] = 4;//直接改变原数组的第一个数据,影响原数组,故改变了原数组。
console.log(arr);//[4,2,3];
}
a;//在没有调用test之前是[1,2,3]
test(a);//输出[4,2,3]
a;//test之后[4,2,3]
2,方法中没有影响原数据的,不会改变原数组
var a = [1,2,3];
function test(arr){
arr = [4,5,6];//此处,arr直接赋予新值,和原数据没有关系,不会影响原数据
console.log(arr);//输出[4,5,6]
}
a;//test之前[1,2,3]
test(a);//输出[4,5,6]
a;//test之后[1,2,3]没有影响原数据
以上个人见解,不到之处还请斧正。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询