• 原型继承


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

    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
  • 相关阅读:
    HTTP协议
    网络编程笔记
    基于udp协议实现QQ:可以并发一对多
    基于udp协议通信:实现了并发
    基于tcp协议通信,运用socketserver模块实现并发
    @PathVariable 与@RequestParam
    IDEA 中的一些概念变化
    Bubble Cup 11
    ACM超时问题
    D
  • 原文地址:https://www.cnblogs.com/zbly/p/10036809.html
Copyright © 2020-2023  润新知