zoukankan      html  css  js  c++  java
  • 原型继承

    原型继承是让父对象作为子对象的原型,从而达到继承的目的:

    function object(o) {
        function F() {
        }
        F.prototype = o;
        return new F();
    }
    // 要继承的父对象
    var parent = {
        name: "Papa"
    };
    // 新对象
    var child = object(parent);
    // 测试
    console.log(child.name); // "Papa"
    // 父构造函数
    function Person() {
        // an "own" property
        this.name = "Adam";
    }
    // 给原型添加新属性
    Person.prototype.getName = function () {
        return this.name;
    };
    // 创建新person
    var papa = new Person();
    // 继承
    var kid = object(papa);
    console.log(kid.getName()); // "Adam"
    // 父构造函数
    function Person() {
        // an "own" property
        this.name = "Adam";
    }
    // 给原型添加新属性
    Person.prototype.getName = function () {
        return this.name;
    };
    // 继承
    var kid = object(Person.prototype);
    console.log(typeof kid.getName); // "function",因为是在原型里定义的
    console.log(typeof kid.name); // "undefined", 因为只继承了原型

     同时,ECMAScript5也提供了类似的一个方法叫做Object.create用于继承对象:

    /* 使用新版的ECMAScript 5提供的功能 */
    var child = Object.create(parent);
    
    var child = Object.create(parent, {
        age: { value: 2} // ECMA5 descriptor
    });
    //判断对象中的属性是否存在
    console.log(child.hasOwnProperty("age")); // true
  • 相关阅读:
    Django drf 功能组件
    Django drf 视图家族
    Django drf初级
    Django drf序列化器 Serializer
    VUE 全整理
    Django Xadmin的安装方式
    python virtualenv虚拟环境搭建
    版本控制器:操作流程
    版本控制器:GIT线上操作
    《剑指offer》---跳台阶问题
  • 原文地址:https://www.cnblogs.com/zbly/p/10036809.html
Copyright © 2011-2022 走看看