美文网首页
03 函数的原型 prototype

03 函数的原型 prototype

作者: Suuuuunie | 来源:发表于2019-11-27 18:36 被阅读0次

    1. 每个函数 function 都有一个 prototype 属性,它默认指向一个 Object 空对象(即原型对象)

    function Fn() {
      
    }
    console.log(Fn.prototype) 
    

    结果为:


    image.png

    从上图可以看出来,Fn.prototype 除了 constructor 和 proto 是没有我们自己定义的方法或者属性的,所以称为空 Object 对象。

    2. 原型对象上都有一个 constructor,它指向函数对象

    console.log(Fn.prototype.constructor === Fn) // true
    

    如下图所示,构造函数和它的原型对象是相互引用关系。


    image.png

    3. 给原型对象添加属性或者方法,它的实例对象可以直接访问到

    Fn.prototype.test = function() {
      console.log('test()');
    }
    const fn = new Fn();
    fn.test(); // test()
    

    相关文章

      网友评论

          本文标题:03 函数的原型 prototype

          本文链接:https://www.haomeiwen.com/subject/cmcmwctx.html