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

    考虑:有一个想要复用的对象,并且想要创建的第二个对象需要从第一个对对象中获取其功能。

    实现如下:

    //要继承的对象
    var parent = {
        name:"Papa"
    };
    //新对象
    var child = object(parent);
    console.log(child.name);

    object函数实现如下:

    //原型继承
    function object(o){
        function F(){};
        F.prototype = o;
        return new F();
    };

    讨论:

    可以使用构造函数创建父对象,这样做的话,“自身”属性和构造函数的原型属性都会被继承。

    //父构造函数
    function Person(){
        this.name = "jie";
    };
    //添加到原型的属性
    Person.prototype.getName = function(){
        return this.name;
    };
    var papa = new Person();
    var kid = object(papa);
    //测试
    console.log(kid.getName());

    本模式的另一种变化,可以选择仅继承现有构造函数的原型对象。

    //父构造器
    function Person(){
        this.name ="jie";
    }
    //添加到原型的属性
    Person.prototype.getName = function() {
        return this.name;
    }
    var kid = object(Person.prototype);
    console.log(typeof kid.name);  //结果"undefined"
    console.log(typeof kid.getName);  //结果"function"
  • 相关阅读:
    leetcode-Rotate Image
    leetcode- Rotate Array
    leetcode- Remove Element
    项目小结
    java到底有哪些重要知识点???
    js学习笔记 -- await/ async
    js学习笔记 -- Promise
    js学习笔记 -- 函数
    js学习笔记 -- 随记
    4、栈的实现:顺序存储和链式存储
  • 原文地址:https://www.cnblogs.com/scnuwangjie/p/5002768.html
Copyright © 2011-2022 走看看