对象冒充(借助构造函数)
当原型中存在引用类型,存在数据被修改的问题
对象冒充存在的问题,不能使用原型,所以就不能不能实现数据共享
<script>
function Test(age) {
this.family=["妈妈","爸爸"];
this.age=age;
}
function Until() {}
Until.prototype=new Test(22);
var u1=new Until();
u1.family.push("姐姐");
console.log(u1.family);//["妈妈", "爸爸", "姐姐"]
var u2=new Until();
console.log(u2.family);//["妈妈", "爸爸", "姐姐"]
//1.当原型中存在引用类型,存在数据被修改的问题
//2.子类类型的对象无法给父类传参数
function Test(age) {
this.family=["妈妈","爸爸"];
this.age=age;
}
function Until(age) {
Test.apply(this,arguments)
}
var u1=new Until(24);
u1.family.push("姐姐");
console.log(u1.family);
console.log(u1.age);
var u2=new Until(23);
console.log(u2.family);
console.log(u2.age);
</script>
发表评论: