首先明确JavaScript的类型有哪几种?
1、基本类型:number、Boolean、string、undefined、null
2、引用类型:object
关于基本类型的值传递,直接使用 = 进行赋值即可。例如:
var a = 1
var b = a;
var b = 2;
则结果为a = 2,b = 2。
但是引用类型则会出错。
首先
var c = { name:"wang"}
var d = c;
d.name = "zhang"
则c和d对象的name属性都会发生改变。
关于这个对象可以这样来理解:
var c = {name:"wang"};
或者
var c = new Object();
c.name = "wang";
都是先开辟一个空间之后,在这个空间中,放入name:"wang".
之后定义一个变量指向这个空间,这个变量就是c。
当 var d = c时,就会将d指向c指向的空间,结果变成了c和d指向同一片空间,则d.name改变时,则c.name同样改变,两个name是同一个。