zoukankan      html  css  js  c++  java
  • new 运算符干了什么

    为了追本溯源, 我顺便研究了new运算符具体干了什么?发现其实很简单,就干了三件事情.

    var obj  = {};
    obj.__proto__ = F.prototype;
    F.call(obj);

    第一行,我们创建了一个空对象obj;

    第二行,我们将这个空对象的proto成员指向了F函数对象prototype成员对象;

    第三行,我们将F函数对象的this指针替换成obj,然后再调用F函数.

    我们可以这么理解: 以 new 操作符调用构造函数的时候,函数内部实际上发生以下变化:

    1、创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型。

    2、属性和方法被加入到 this 引用的对象中。

    3、新创建的对象由 this 所引用,并且最后隐式的返回 this。

  • 相关阅读:
    mysql对表操作的各种语句
    Map遍历两种方式
    hibernate3
    Spring、mybaits整合
    mybaits注解
    mybaits 框架运用
    mybatis入门
    限制文本框字符数
    Unity3D Mathf函数
    Unity3d 粒子工具注释
  • 原文地址:https://www.cnblogs.com/luckyXcc/p/9154521.html
Copyright © 2011-2022 走看看