js高级-拷贝继承

<script>
    //拷贝继承:把一个对象中的属性或者方法直接复制到另一个对象中


    //下面是简单的例子
   /* var jk = {
        name : "我好帅啊!",
        age : 20,
        sex : "男",
        eat:function () {
            console.log("今晚吃烤羊腿!");
        }
    };
    //改变了地址的指向,没有在堆中开辟空间
    var kl = jk;
    console.log(kl.name,kl.age,kl.sex);
    kl.eat();*/


   //和原型对象结合起来
    function Person() {


    }
    Person.prototype.age=10;
    Person.prototype.name="小明";
    Person.prototype.sex="女";
    Person.prototype.play = function () {
        console.log("还年轻!想玩抓紧时间玩。");
    };
    //在Person的构造函数中有原型prototype,prototye就是一个对象,在这个
    //对象中有age,name,sex等等的这些就是它里面的属性,play是方法
    var obj2 = {};
    //这里因为{}是一个对象,所以在堆中两个都开了空间,
    // 把Person中的拷贝到了obj2中,各自的指向并没有改变(浅拷贝)
    for (var key in Person.prototype){
        obj2[key]=Person.prototype[key];
    }


    console.log(obj2);
    obj2.play();
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值