值传递是只把对象的值传入函数,函数中可以使用这个值,但却无法更改该对象的值。
引用传递是将整个对象本身(或地址)传入函数,在函数中既可调用对象的值,也可改变对象的值。
复制变量
1. 基本类型
var num1 = 5;
var num2 = num1;
2. 引用类型(对象)
var obj1 = new Object();
var obj2 = obj1;
obj1.name = "A";
alert(obj2.name); // A
传递参数按值传递
基本类型
function addTen(num) {
num += 10;
return num;
}
var count = 20;
var result = addTen(count);
alert(count); // 20
alert(result); // 30
引用类型
function setName(obj) {
obj.name = "B";
obj = new Object();
obj.name = "C";
}
var person = new Object();
setName(person);
alert(person.name); // B