function People () {
this.name='codeman'
};
People.prototype = {
showName : function () {
alert(this.name);
},
showAge : function () {
alert(this.age);
}
};
function Student () {
People.call(this);
this.job='codeTeacher'
};
for ( var k in People.prototype){
Student.prototype[k]=People.prototype[k];//这里的People.prototype[k]应该是一个方法(函数),也就是引用类型
// 那么当我更改Student里的showName方法的话,People里的不是也应该被改掉么,为什么没改掉
}
// Student.prototype=People.prototype
Student.prototype.showJob=function () {
alert(this.job);
}
Student.prototype.showName=function() {
alert('superman');
}
var peo = new People();
peo.showName(); //还是‘codeman’
2 回答
qq_药药_0
TA贡献52条经验 获得超27个赞
首先你这个没看错的话不是深克隆。深克隆的意思是,当你循环完对象之后。如果对象里面还有引用数据类型,如数组。还要遍历循环引用数据类型。你这个是浅克隆只循环了一遍,你寻找到的只是引用数据类型的指针,差不多就是这个意思。如果是深克隆,你自己还要写个判断函数,用递归。
添加回答
举报
0/150
提交
取消