美文网首页
js中的new()

js中的new()

作者: 叫我童大侠 | 来源:发表于2018-04-06 12:23 被阅读0次

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

    语法

    new constructor[([arguments])]

    参数

    constructor
    [一个指定对象实例的类型的类或函数。]
    arguments
    [一个用来被constructor 调用的参数列表。]

    创建一个新的对象实例,要使用 new 操作符,当代码 newFn(...) 执行时,会发生以下事情:

    • 创建一个新对象继承自 Fn.prototype
    • 将构造函数 Fn 作用域赋给新对象,并将 this 绑定到新创建的对象。
    • 执行构造函数Fn
    • 由构造函数Fn返回的对象就是 new 表达式的结果。

    Javascript引擎中看到的对象模型是:

    var obj = new Base()
    //创建一个空对象obj
    var obj  = {};
    //这个空对象的__proto__成员指向了Base函数对象prototype成员对象
    obj.__proto__ = Base.prototype;
    Base.call(obj);
    //将Base函数对象的this指针替换成obj,然后再调用Base函数,
    //于是我们就给obj对象赋值了一个id成员变量,这个成员变量的值是”base”,关于call函数的用法。
    

    参考链接1
    参考链接2

    相关文章

      网友评论

          本文标题:js中的new()

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