浅拷贝,只复制基本类型,复杂类型数据只是引用。
深拷贝,基本数据类型,复杂数据类型,都复制。
var a = {
x:1,
y:2,
z:3
}
function B(){}
B.prototype = a;// 直接引用 a 对象
var C = new B();
function b(){};
b.clone = function(a){
var _a = {};
for ( var k in a){
_a[k] = a[k]; // 浅拷贝,只复制 基本数据类型,如果 a 包含,数组,则,只是对该数组的引用。
}
return _a;
}
b.prototype = b.clone(a);//克隆 a 对象
b.prototype.x = 2;// 这里不会景响到 a 对象.
var c = new b();
console.log(C.x);
console.log(c.x);