美文网首页
js原型链

js原型链

作者: hahajj_2e72 | 来源:发表于2020-01-22 16:17 被阅读0次

    oop两种实现方式1.class;2原型

    ----原型---

    prototype為函數原型對象 除(Function.prototype )沒有prototype屬性 typeof Function.prototype=function

    proto為對象属性

    function a(){} a.prototype.constructor(實例自帶constructor屬性)=a

    只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性(同时它也是一个对象),默认情况下prototype属性(对象)会默认获得一个constructor(构造函数)属性,这个属性是一个指向prototype属性所在函数的指针

    ----原型链 实现私有等----

    私有变量 var fn=function(){}

    静态变量 a.fn=function(){}

    实例变量 this.fn=function(){} 实例才能用 本身用不了

    https://blog.csdn.net/qq_30904985/article/details/81248613

    ----普通对象与函数对象---

    function f1(){};
     var f2 = function(){};
     var f3 = new Function('str','console.log(str)');
     var o3 = new f1();
     var o1 = {};
     var o2 =new Object();
    
     console.log(typeof Object); //function 
     console.log(typeof Function); //function
     console.log(typeof o1); //object
     console.log(typeof o2); //object
     console.log(typeof o3); //object
     console.log(typeof f1); //function
     console.log(typeof f2); //function
     console.log(typeof f3); //function
    

    凡是通过 new Function() 创建的对象都是函数对象(f1 f2 f3),其他的都是普通对象 Function Object 也都是通过 New Function()

    var temp = new f1();

    f1. prototype = temp;//f1. prototype为temp的实例对象

    https://blog.csdn.net/valada/article/details/79909782

    相关文章

      网友评论

          本文标题:js原型链

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