首页 > Web开发 > 详细

js的继承实现方式

时间:2016-10-13 14:03:21      阅读:180      评论:0      收藏:0      [点我收藏+]

1. 使用call或者apply来实现js对象继承

     function Animal(age){
            this.age = age;
            this.say = function(){
                console.log(‘age:‘+this.age);
            };
        }    
        function Dog(age,nickname){
            Animal.call(this,age);
            // Animal.apply(this,[age]);
            this.nickname = nickname;
            this.say = function(){
                console.log(‘nickname:‘+this.nickname+‘,age:‘+this.age);
            };
        }    
        var animal = new Animal(11);
        var dog = new Dog(12,‘dog‘);
        animal.say();
        dog.say();        

2. 使用原型链来实现js继承;

     function Animal(){}
        Animal.prototype.age = 11;
        Animal.prototype.say = function(){
            console.log(‘age:‘+this.age);
        };
        function Dog(){}
        Dog.prototype = new Animal();
        Dog.prototype.nickname = ‘dog‘;
        Dog.prototype.say =    function(){
            console.log(‘nickname:‘+this.nickname+‘,age:‘+this.age);
        }; 
        var animal = new Animal();
        var dog = new Dog();
        animal.say();
        dog.say();

3. 使用原型链和apply混合实现。

     function Animal(age){
            this.age = age;
        }    
        Animal.prototype.say = function(){
            console.log(‘age:‘+this.age);
        };
        function Dog(age,nickname){
            Animal.call(this,age);
            // Animal.apply(this,[age]);
            this.nickname = nickname;
        }    
        Dog.prototype.say =    function(){
            console.log(‘nickname:‘+this.nickname+‘,age:‘+this.age);
        }; 
        var animal = new Animal(11);
        var dog = new Dog(12,‘dog‘);
        animal.say();
        dog.say();

 

js的继承实现方式

原文:http://www.cnblogs.com/MorewalkSofar/p/5956026.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!