开发者社区> 问答> 正文

new 一个对象的过程中发生了什么

new 一个对象的过程中发生了什么

展开
收起
茶什i 2019-11-19 18:13:40 1176 0
1 条回答
写回答
取消 提交回答
  • // 1. 创建空对象;
    var obj = {};
    // 2. 设置新对象的 constructor 属性为构造函数的名称,设置新对象的**proto**属性指向构造函数的 prototype 对象;
    obj.__proto__ = ClassA.prototype;
    // 3. 使用新对象调用函数,函数中的 this 被指向新实例对象:
    ClassA.call(obj); //{}.构造函数();
    // 4. 如果无返回值或者返回一个非对象值,则将新对象返回;如果返回值是一个新对象的话那么直接直接返回该对象。
    
    2019-11-19 18:13:49
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
对象的生命期管理 立即下载
建立联系方法之一 立即下载
“静态调用链路发现”应用场景分析及实践探索 立即下载