new运算符的过程

使用new命令时,它后面的函数依次执行下面的步骤。

1、创建一个空对象,作为将要返回的对象实例。
2、将这个空对象的原型,指向构造函数的prototype属性。
3、将这个空对象赋值给函数内部的this关键字。
4、开始执行构造函数内部的代码。

function Person(name,age){
    let obj={};
    obj.__proto__=Person.prototype;
    this=obj;
    this.name=name;
    this.age=age;
    return this;
}

也就是说,构造函数内部,this指的是一个新生成的空对象,所有针对this的操作,都会发生在这个空对象上。构造函数之所以叫“构造函数”,就是说这个函数的目的,就是操作一个空对象(即this对象),将其“构造”为需要的样子。

如果构造函数内部有return语句,而且return后面跟着一个对象,new命令会返回return语句指定的对象;否则,就会不管return语句,返回this对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,207评论 0 13
  • 我讨厌现在的我,我现在真的变成一个一无是处的人了,所有什么事情都做不好,别人得心应手都能做到的事,为什么我做不到,...
    枫沐之柚阅读 135评论 0 0
  • 饭点时间,必须下楼。刚下楼迎面而来的热气一下就让镜片模糊起来。 完全没有之前在其它地方旅游的潇洒自在,一边偷偷观察...
    阿静的空间阅读 588评论 1 1
  • 生活在都市里的年轻人,相信很多人都和我一般,刚刚毕业,刚刚工作,工资还没拿到就要交上一笔房租,加上各种生活费用和...
    海豚湾恋人岛阅读 870评论 13 2
  • 时间:2017 - 8 - 27 书籍:《Jennifer生活志》 Jennifer 著 摘录: 《英语麦克风》成...
    浸泡一种心情阅读 130评论 0 0