值传递”是指:在函数中传递的是一个数值;
“引用传递”是指: 在函数中传递的是一个对象。
二者本质区别就是传递的数据类型不一样,
“值传递”传递的是一个值;“引用传递”传递的是一个对象。
JS函数参数传递类型有两种:
一种是值传递,适用于基本数据类型(string, number, boolean)
一种是引用传递,适用于引用类型(array, function, object)
var a=1;
function fn(b) {
b++;
}
fn(a);
console.log(a);
输出1,是值传递
var myarr=[1,2,3];
function fun(arr) {
arr[0]=4;
}
fun(myarr);
for (var i = 0; i < myarr.length; i++) {
console.log(myarr[i]);
}
// 4 2 3这里是引用传递