JavaScript|JavaScript 的new操作做了什么()

1.对象是什么 (1)对象是单个实物的抽象。
(2)对象是一个容器,封装了属性(property)和方法(method)。
2.构造函数 面向对象编程的第一步,就是要生成一个对象。那怎么生成对象呢?前面说过,对象是单个实物的抽象,生成对象通常需要一个表示某一类事物共同特征的模板,对象通过这个模板来生成。
JavaScript用来生成对象的模板就是构造函数(constructor)。
构造函数有几个特点:
1.构造函数一般以大写字母开头。
2.构造函数内部有this关键字,表示所要生成的对象。
3.生成对象的时候,必须用new命令。
new命令的作用,就是执行构造函数,返回一个对象。

var Car = function () { this.color = 'yellow'; } var myCar = new Car(); myCar.color // yellow

上面的代码,利用new命令生成了一个实例对象,保存在myCar中。新生成的实例对象,从构造函数Car中得到了color属性。
3.new命令的原理 使用new命令时,它后面的函数依次执行下面的步骤。
1.创建一个空对象,作为将要返回的对象实例。
2.将这个空对象的原型指向构造函数的prototype属性。
3.将这个空对象赋值给构造函数内部的this关键字。
4.开始执行构造函数内部的代码。
也就是说,构造函数内部的this指的是新生成实例对象,所有针对这个this的操作,都作用在新生成的对象实例上。
总结 总结一下,我们在使用new命令的时候,JavaScript在背后主要做了这些事:
【JavaScript|JavaScript 的new操作做了什么()】1.生成一个空对象。
2.将这个空对象的原型,指向构造函数的prototype
3.将这个空对象赋值给构造函数内部的this
4.继续执行构造函数内部的代码。

    推荐阅读