值传递
//基本数据类型的传递
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
-------------------------新增内容----------------------------
感兴趣的可以去阅读一下
汤姆大叔的博客
JavaScript值传递与引用传递详解
本文探讨了JavaScript中基本数据类型和引用数据类型在函数参数传递时的区别。对于基本数据类型,参数传递是值传递,原始值不会因函数内部操作而改变;而对于引用数据类型如对象和数组,参数传递实际上是引用传递,函数内部对对象的修改会影响到原始对象。通过示例代码,清晰展示了这一行为,并提醒读者注意在实际编程中对此的理解和应用。
1060

被折叠的 条评论
为什么被折叠?



