zoukankan      html  css  js  c++  java
  • javascript中对象函数继承的概念

    什么是函数对象?
    这个对象既是通常意义上的对象,又可以加上括号直接执行的函数。

    产生函数对象的方式有两种:
    1、通过function关键字产生:var fn = function(){};
    2、实例化Function类:var fn = new Function(){};

    产生函数的时候会产生两个对象:
    一是函数对象,
    二是这个函数会附带一个成员变量prototype,这个prototype会指向一个新开的对象。

    Object是顶级的函数对象,所有其它对象都可以直接或者间接访问其prototype对象。
    Object自己也是个对象,它的产生源于它自己。作为对象,它产生于当它作为类时候的实例。

    如果一个类要继承另外一个类,那么子类的prototype必须拥有和父类同样的prototype指向的对象。
    且不能和父类的prototype是同一个(这样会造成对父类的污染)。

    Function,Array,String,RegExp等对象所属的类均继承自Object的类,
    因此这些对象都能间接找到Object的prototype,从而拥有object的方法。

    如何写一个实现继承的方法?

    function extend(subClass,supClass){
        var fn = function(){};
        fn.prototype = supClass.prototype;
        subClass.prototype = new fn();
        subClass.prototype.constructor = subClass;
    };



  • 相关阅读:
    CF1095F Make It Connected
    【ZJOI2016】旅行者
    [COCI 2009] OTOCI / 极地旅行社
    Sum in the tree
    MST Unification
    【集训队作业2018】Simple Tree
    [COCI2009]Dvapravca
    python 网络编程-02 多进程的交互案例
    python 日志模块logging
    python 网络编程-01基础
  • 原文地址:https://www.cnblogs.com/tyhmj/p/3394466.html
Copyright © 2011-2022 走看看