关于Javascript中的继承问题,一个实例对象如何继承另一个构造函数的原型
PHP中文网
PHP中文网 2017-04-11 12:25:10
[JavaScript讨论组]

1.如何让p1使用person2原型中的方法,p1同时可以使用person1原型方法。

(function(){
    function person1(){
        
    }
    function person2(){
        
    }
    person1.prototype={
        say:function(){
            console.log("我是person1的原型");
        }
    }
    var p1=new person1();
    
    person2.prototype={
        talk:function(){
            console.log("我是person2的原型")
        }
    }
    
})()
PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(2)
巴扎黑
p1使用person2的方法,p1同时可以使用person1方法。

所以楼主的意思是 person2是父类 person1是子类??

  (function(){
        // 先定义父类
        function person2(){}
        person2.prototype={
            talk:function(){
                console.log("我是person2的原型")
            }
        }
        
        // 定义子类
        function person1(){}
        person1.prototype = new person2();
        person1.prototype.say = function(){
            console.log("我是person1的原型");
        }
        
        // 这样
        
        var p2 = new person2();
        p2.talk();
        
        var p1 = new person1();
        p1.talk();
        p1.say();
    })()
ringa_lee

不清楚你这么做的意义是什么?

如果仅仅是调用一两次可以使用call或者apply借用。

如果随时可以互相调用,那么两个构造函数作用就相同了,没什么意义!

如果是有一个构造函数,但是想增强这一个构造函数,又不想破坏原来的构造函数,可以使用继承。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号