美文网首页
JS 中 new 操作符的简单理解

JS 中 new 操作符的简单理解

作者: Hunter_Gu | 来源:发表于2017-01-29 12:39 被阅读40次

    在声明复杂类型的变量(如函数)时,我们可以通过构造函数的方式进行声明。
    如:声明一个函数

    var foo = new Function("console.log('i am a function')");
    

    或者通过构造函数的方式新建一些组件时

    function F(name){
        this.name = name;
    }
    var f1 = new F('Couzin')
    

    我们可能知道,这样创造的实例 f1._proto_ = F.prototype ,这样的结果是通过 new 操作符实现的。
    那么,在 new 的过程中发生了什么?
    实际上就分为简单的三个步骤:

      1. var f1 = {};//创建实例
      1. f1._proto_ = F.prototype;//创建实例
      1. F.call(f1);//初始化实例
        所以函数 F 中的 this 是实例 f1 的实例变量,只能在 f1 中访问到。

    相关文章

      网友评论

          本文标题:JS 中 new 操作符的简单理解

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