值传递
//基本数据类型的传递
function changeNum(num){
num += 1;
return num;
}
function changeStr(str){
str += 'world';
return str;
}
/*作为参数传递的变量不因为参数值的改变而改变*/
let num = 2;
let numRet = changeNum(num);
console.log(num, numRet);//2 3
let str = 'hello';
let strRet = changeStr(str);
console.log( str, strRet);//hello helloworld
地址传递
//引用数据类型的传递
function changeObj(obj){
obj.name = 'jack';
return obj;
}
/*传递的对象可以通过参数改变*/
let obj = { name:'sunny', age:23};
let objRet = changeObj(obj);
console.log( obj.name, objRet.name);// jack jack
//数组的传递
funtion arrChange(arr){
arr[0] = 23;
return arr;
}
let arr = [12,34,56];
let arrRet = arrChange(arr);
console.log(arr, arrRet);//23 23
-------------------------新增内容----------------------------
感兴趣的可以去阅读一下
汤姆大叔的博客