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;
    };



  • 相关阅读:
    vue 页面设置title
    git clone 下载慢 解决方法 码云
    nestjs pm2 启动 静态文件404报错
    Linux释放内存空间
    DBMS_STATS.GATHER_SCHEME_STATS学习
    TPCH测试工具
    Oracle中shrink space命令
    java 测试框架 TestNG
    数据库与linux中quota的作用
    java 测试框架
  • 原文地址:https://www.cnblogs.com/tyhmj/p/3394466.html
Copyright © 2011-2022 走看看