码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript:inherits

时间:2017-08-29 14:27:23      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:span   pre   app   真心   const   code   function   blog   tor   

网上一查,肯定搜索到继承的文章真心不少。我这里就只说一下自己常用的方式:

通常 在编写一个类的做法是,在构造函数里声明字段,在prototype里指定方法。

//step1: 在子类的构造器里法里实例call ,apply 来继承字段
//step2: 类声明完毕后,使用inheritsPrototype来继承方法

function
inheritsPrototype(clazz, baseClazz) { var clazzPrototype = clazz.prototype; function F() {}; F.prototype = baseClazz.prototype; clazz.prototype = new F(); for (var prop in clazzPrototype) { clazz.prototype[prop] = clazzPrototype[prop]; } // clazz.prototype.constructor = clazz; // clazz.superClass = baseClazz; }

 

demo:

        

            function inheritsPrototype(clazz, baseClazz) {
                var clazzPrototype = clazz.prototype;
                function F() {};
                F.prototype = baseClazz.prototype;
                clazz.prototype = new F();

                for (var prop in clazzPrototype) {
                    clazz.prototype[prop] = clazzPrototype[prop];
                }
            }


            function A(id, name){
                this.id = id;
                this.name = name;
            }

            A.prototype.show = function (){
                console.log(this.id, this.name);
            }
        
            function B(id, name, age){
                A.call(this, id, name);  // 继承字段
                this.age = age;
            }

            inheritsPrototype(B, A);   // 继承方法
            
            var objB = new B("x01", "name1", 12);
            objB.show();

 

JavaScript:inherits

标签:span   pre   app   真心   const   code   function   blog   tor   

原文地址:http://www.cnblogs.com/f1194361820/p/7447587.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!