JavaScript--函数-按值传递

按值传递(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
原文地址:https://www.cnblogs.com/chenzeyongjsj/p/5517343.html