当我们创建一个构造函数的实例的时候,其实这个过程包含了若干个隐藏的步骤,我们知道通过构造函数可以创建对象,那么这个对象是哪里来的,可想而知,由原型链继承关系可以得到,无论如何,new Object()的过程总是被执行的,具体执行的过程细致如下:
1.当使用了构造函数,并且new 构造函数(),那么后台首先执行了new Object();
2.然后将构造函数的作用域给新对象,(即new Object()创建出的对象),而函数体内的this就代表new Object()出来的对象。
3.执行构造函数内的代码;
1.当使用了构造函数,并且new 构造函数(),那么后台首先执行了new Object();
2.然后将构造函数的作用域给新对象,(即new Object()创建出的对象),而函数体内的this就代表new Object()出来的对象。
3.执行构造函数内的代码;
4.返回新对象(后台直接返回)。
PS:
1. 关于this的使用,this其实就是代表当前作用域对象的引用。如果在全局范围this就代表window对象,如果在构造函数体内,就代表当前的构造函数所声明的对象。
2. 构造函数和普通函数的唯一区别,就是他们调用的方式不同。只不过,构造函数也是函数,必须用new运算符来调用,否则就是普通函数。