<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>groupInherit</title>
    <script type="text/javascript">
    //声明父类
    function superClass(name){
        this.name = name;
        this.books = ['html','css','js'];
    }
    superClass.prototype.getName = function(){
        console.log(this.name);
    }
    superClass.prototype.getBooks = function(){
        console.log(this.books);
    }
    //声明子类
    function subClass(name,time){
        superClass.call(this,name);//让子this指向父this,后面带的是父类需传入的参数name
        this.time = time;
    }
    subClass.prototype = new superClass();//类式继承
    subClass.prototype.getTime = function(){
        console.log(this.time);
    }
    //测试用例:实例化对象测试
    var test1 = new subClass('js book',2015);
    var test2 = new subClass('css book',2014);
    test1.books.push('php');//test2插入的数据'php'不影响test1

console.log(test1.name);      //'js book'
    console.log(test1.books);   //["html", "css", "js", "php"]
    test1.getName();              //'js book'
    test1.getBooks();           //["html", "css", "js", "php"]
    test1.getTime();            //2015

console.log(test2.name);      //'css book'
    console.log(test2.books);   //["html", "css", "js"]
    test2.getName();              //'css book'
    test2.getBooks();           //["html", "css", "js"]
    test2.getTime();            //2014

//本例已经通过验证,this属性和原型方法均能访问
    </script>
</head>
<body>
    
</body>
</html>

js原生设计模式——2面向对象编程之继承—new+call(this)组合式继承的更多相关文章

  1. js原生设计模式——2面向对象编程之继承—原型继承(类式继承的封装)

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  2. js原生设计模式——2面向对象编程之继承—多继承

    1.单对象克隆 <!DOCTYPE html><html lang="en"><head>    <meta charset=" ...

  3. js原生设计模式——2面向对象编程之继承—call(this)构造函数式继承

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  4. js原生设计模式——2面向对象编程之继承—new类式继承

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  5. js原生设计模式——2面向对象编程之js原生的链式调用

    技巧点:对象方法中返回当前对象就可以链式调用了,即方法中写return this; <!DOCTYPE html><html lang="en"><h ...

  6. js原生设计模式——2面向对象编程之闭包2

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  7. js原生设计模式——2面向对象编程之闭包1

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  8. js原生设计模式——7原型模式之new+call(this)组合应用再探讨实例

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  9. js原生设计模式——12装饰者模式

    1.面向对象模式装饰者 <!DOCTYPE html><html lang="en"><head>    <meta charset=&q ...

随机推荐

  1. As Fast As Possible

    As Fast As Possible On vacations n pupils decided to go on excursion and gather all together. They n ...

  2. drawRect 进阶

    iOS的绘图操作是在UIView类的drawRect方法中完成的,所以如果我们要想在一个UIView中绘图,需要写一个扩展UIView 的类,并重写drawRect方法,在这里进行绘图操作,程序会自动 ...

  3. cc2530 寄存器PICTL理解

  4. Python3基础 list(zip()) 将两个列表打包起来

    镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...

  5. webapp之路--理解viewport的使用

    随着高端手机(Andriod,Iphone,Ipod,WinPhone等)的盛行,移动互联应用开发也越来越受到人们的重视,用html5开发移动应用是最好的选择.然而,每一款手机有不同的分辨率,不同屏幕 ...

  6. 神经网络joone_engin模式识别示范,eclipse

    链接: http://pan.baidu.com/s/1kVRducv 密码: junw

  7. Task 编程中的异常处理

    在 .Net 开发中, 使用 Task . Task<T> 进行异步编程是非常方便的, 但是在处理 Task 产生的异常时, 需要注意一个问题, 比如下面的代码: ? 1 2 3 4 5 ...

  8. js原型对象,每个new出来的新对象都有独立的原型对象__proto__

    刚才看一篇博文的时候, 动手测试了一下 JavaScript的原型链, 原型对象,发现每个构造器(赋给了某个 prototype ) new 出来的对象都有各自独立的原型对象 __proto__. p ...

  9. SQLSERVER设置行号

    select row_number()over(order by columnname)as rownum,* from tablename 按照columnname列进行排列

  10. 2016"百度之星" - 资格赛(Astar Round1) Problem E

    简单模拟题,耐心写就能过. #include <stdio.h> #include <math.h> #include<cstring> #include<c ...