美文网首页
不用new怎么实例化一个对象

不用new怎么实例化一个对象

作者: 从前慢pearl | 来源:发表于2018-04-26 19:46 被阅读0次

    1

    new只是一个语法糖 她的原理是原型链的继承及this的指向

    2,一个函数

        function fn(){
                this.a = "a";
                this.b = "b";
        }
    

    3,函数原型链上有有一个 c值

       fn.prototype.c = "c"
    

    4,不用new 实例化一个fn的对象

        1,字面定义一个对象
                 var obj = {}
        2,获取fn原型链上的属性值或方法
                 obj._proto_ = fn.prototype   //地址赋值
    

    5,fn函数里面的this指向obj

            fn.call(obj)   //不在fn原型链上的值也赋值到了obj上
    

    6,最后的结果

    图片.png

    相关文章

      网友评论

          本文标题:不用new怎么实例化一个对象

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