我已经搜索过有关通过引用在javascript上调用的信息,但仍然感到困惑。
考虑一下此代码。
let arr = [];
let temparr = [2,3,4];
arr = temparr;
temparr.push(5);
console.log(arr); //[2,3,4,5]
console.log(temparr); //[2,3,4,5]
let arr2 = [];
let temparr2 = [2,3,4];
arr2 = temparr2;
temparr2 = [1,2];
console.log(arr2); //[2,3,4]
console.log(temparr2); /[1,2]
对于第一种情况,由于arr = temparr,arr会受到temparr的影响,但是,在第二个示例中,arr2不会受到temparr2中的修改的影响。我的问题是
在第一个示例中,为什么arr首先受到temparr的修改的影响?这是在按引用方式致电吗?如果是这样,它将在什么情况下触发该操作?
在第二个示例中,唯一的区别是我没有使用push,而是分配了新数组来修改temparr2。但是这次arr2没有受到影响。与第一个示例有什么区别?
非常感谢你
哆啦的时光机
相关分类