原型继承:
function extend(Child, Parent) {
var F = function(){};
F.prototype = Parent.prototype;
Child.prototype = new F();
Child.prototype.constructor = Child;
Child.uber = Parent.prototype;
}
浅拷贝继承:
function extendCopy(p) {
var c = {};
for (var i in p) {
c[i] = p[i];
}
c.uber = p;
return c;
}
深拷贝继承:
function deepCopy(p,c){
var c=c||{};
for(var i in p){
if(typeof p[i]=="object"){
c[i]=(p[i].constructor=="Array")?[]:{}
deepClone(p[i],c[i])
}else{
c[i]=p[i]
}
}
return c;
}
var p={"name":"leyi",child:{
"cname":"zzn",schild:{
"sname":"qiezijiucai"
}
}}
var c={}
c=deepClone(p,c)
p.child.cname="halo"
console.info(p)
console.info(c)