美文网首页
new的本质

new的本质

作者: LinkVoid | 来源:发表于2019-06-27 14:52 被阅读0次

    new运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。

    我们看一下new到底做了什么。

    1.创建一个空的JavaScript对象test(即{});

    创建对象

    2.链接到原型,将 新对象test的 _proto_ 指向 Test 的 prototype

    我们使用构造函数生成的function,所有的属性和方法是共享的,他会自动添加一个prototype方法。

    这个过程我们可以理解为test._proto_就是一个地址,用来连接到构造函数的prototype对象

    test._proto_ = Test.prototype

    3.我们将this指向test对象,为test添加属性和方法。并返回新对象。

    Test.call(test);

    return test

    明白了原理,其实我们就可以自己手写一个new。

    _New

    相关文章

      网友评论

          本文标题:new的本质

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