var a={a:"aaa"}
var b=a
b.a="sss"
alert(a.a)//改变了 弹出sssvar aa={a:"aaaa"}
var b=function(){}
b.prototype=aa
var bb=new b
bb.a="sss"
alert(aa.a)//未改变 弹出aaaa var aa={a:["aaaa"]}//<---变成数组
var b=function(){}
b.prototype=aa
var bb=new b
bb.a[0]="sss"
alert(aa.a)//改变了 弹出sss
var b=a
b.a="sss"
alert(a.a)//改变了 弹出sssvar aa={a:"aaaa"}
var b=function(){}
b.prototype=aa
var bb=new b
bb.a="sss"
alert(aa.a)//未改变 弹出aaaa var aa={a:["aaaa"]}//<---变成数组
var b=function(){}
b.prototype=aa
var bb=new b
bb.a[0]="sss"
alert(aa.a)//改变了 弹出sss
var a={a:["aaaa"]}function $unlink(x){
var unlinked;
if(typeof x=='object'){
if(x instanceof Array){
unlinked=[];
for(var i=0;i<x.length;i++)
unlinked[i] = $unlink(x[i])
}else{
unlinked={}
for (var i in x) {
unlinked[i] = $unlink(x[i])
}
}
}else{
return x
}
return unlinked;
}
var b=$unlink(a)
//b=a //如果把前面的注释去掉 将弹出sss
b.a[0]="sss"
alert(a.a)
var a={a:"aaa"}
var b=function(){}
b.prototype=a
var bb=new b
a=bb
var a = function(){
var F = function(){};
F.prototype = this;
var i = new F;
return i
}