欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数组的传递与复制

程序员文章站 2022-04-28 21:51:27
1.传递 基本数据类型中,传递的是值 引用数据类型中,传递的是在堆中的地址 基本数据类型中,传递的是值 引用数据类型中,传递的是在堆中的地址 基本数据类型:改变复制的值,不影响原值 引用数据类型:改变复制的值,会影响原值(浅复制) 引用数据类型:改变复制的值,不影响原值(深复制) for循环拷贝数组 ......

1.传递

  • 基本数据类型中,传递的是值

  • 引用数据类型中,传递的是在堆中的地址

2.复制

基本数据类型:改变复制的值,不影响原值


var a = 10;
var b = a;//var b = 10
b = 30;
console.log(a,b);//10,30

引用数据类型:改变复制的值,会影响原值(浅复制)


var arr = [10,20,30];
var brr = arr;
brr[0] = 66;
console.log(arr,brr);//[66,20,30][66,20,30]

引用数据类型:改变复制的值,不影响原值(深复制)

  • for循环拷贝数组的每一项

  • slice(0)


var arr = [10,20,30];
// var res = [];
// for(var i=0;i<arr.length;i++){
// res.push(arr[i]);
// }
// console.log(res);//10,20,30
// res[0] = 40;
// console.log(arr,res);
//=======================================
var res = arr.slice(0);
res[0] = 40;
console.log(arr,res);