按值传递(byValue): 两个变量间赋值或将变量作为参数传入函数时,其实都是将原变量中的值,赋值一份给对方(新变量)
对原始类型的值: 修改新变量,不会影响原变量
对引用类型的对象: 通过新变量修改对象,等效于直接修改原对象。
第一个例子:对原始类型的值
1 var a=10; 2 var b=a;//取出a中的值,复制一份给b 3 a++; 4 console.log(a);//11 5 console.log(b);//10
第二个例子:对引用类型的对象
1、函数
1 var card=10; 2 function buy(card){ 3 card-=3; 4 console.log(card); 5 } 6 buy(card);//7 7 console.log(card);//10
2、数组
1 var my=["包","包","包","包","包"]; 2 // 0 1 2 3 4 3 var lp=my; 4 lp[0]=""; 5 console.log(String(my));//4 6 my[4]=""; 7 console.log(String(lp));//3 8 9 var arr=[1,2,3,4,5]; 10 //0 1 2 3 4 11 function fun(arr){ 12 arr[5]=6; 13 arr=[1,2,3]; 14 arr[6]=12; 15 console.log(String(arr)); 16 } 17 fun(arr);//123,,,12 18 console.log(String(arr));//123456
时间: 2024-10-05 04:27:32