原形链继承中,为什么子类实例会共享原型?

<script type="text/javascript">
function SuperType(){
this.colors=["red","blue","green"];
}
function SubType(){}
SubType.prototype=new SuperType();
var instance1=new SubType();
instance1.color.push("black");
alert(instance1.colors); //"red,blue,green,black"
var instance2=new SubType();
alert(instance2.colors) //为什么这里也会是"red,blue,green,black",不是"red,blue,green"
</script>

为什么改变instance1的colors会影响到instance2的colors,实例化后不是应该是两个独立的东西了么?

评论 (0)链接2015-03-19 
德问是一个专业的编程问答社区,请 登录注册 后再提交答案