zoukankan      html  css  js  c++  java
  • 构造函数的继承

    // 构造函数
    function Animal() {
    this.species = "动物";
    }
    function Cat(name, color) {
    this.name = name;
       this.color = color;
    }

    // 1, 使用call或者apply方法,将父对象的构造函数绑定在子对象上,即在子对象构造函数中加一行
    // function Cat(name, color) {
    // Animal.apply(this, arguments);
    // this.name = name;
    // this.color = color;
    // }
    // var cat1 = new Cat('大猫','黄色');
    // console.log(cat1);


    // 2. 第二种 prototype属性
    // 第一行,将prototype对象指向一个Animal的实例
    // Cat.prototype = new Animal();
    // 第二行,constructor属性,指向它的构造函数,
    // 如果没有Cat.prototype = new Animal(),Cat.prototype.constructor指向Cat
    // 现在指向Cat.prototype.constructor指向Animal
    // Cat.prototype.constructor = Cat;
     
    // var cat1 = new Cat('大毛','黄色');
    // console.log(cat1);

    // 3.直接继承prototype
    // function Animal() {
     
    // }
    // Animal.prototype.species = "动物";
    // Cat.prototype = Animal.prototype;
    // Cat.prototype.constructor = Cat;
    // var cat1 = new Cat('大毛','黄色');
    // console.log(cat1.species);

    // 5. 拷贝继承
    // function Animal() {}
    // Animal.prototype.species = "动物";
    // function extend(Child, Parent) {
    // var p = Parent.prototype;
    // var c = Child.prototype;
    // for(var i in p) {
    // c[i] = p[i];
    // }
    // c.uber = p;
    // }
    // extend(Cat,Animal);
    // var cat1 = new Cat('大毛','黄色');
    // console.log(cat1);

     摘自阮老师的博客:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_inheritance.html

  • 相关阅读:
    [LeetCode]*124.Binary Tree Maximum Path Sum
    HDU3336-Count the string(KMP)
    各种配置环境变量总结
    数据结构与算法-为什么要使用算法
    request 对象
    Codeforces 15B Laser
    使用jq工具在Shell命令行处理JSON数据
    Android中的FrameLayout帧布局
    iOS 8 设置导航栏的背景颜色和背景图片
    Creating HTML table with vertically oriented text as table header 表头文字方向
  • 原文地址:https://www.cnblogs.com/neilniu/p/10739560.html
Copyright © 2011-2022 走看看