使用new来调用函数,或者说发生构造函数调用时,会自动执行下面的操作:
1.创建(或者说构造)一个全新的对象.
2.这个新对象会被执行[原型]连接.
3.这个新对象会绑定到函数调用的this.
4.如果函数没有返回其他对象,那么new表达式中的函数调用会自动返回这个新对象.
最后一点就说明了,我们只要返回一个新对象即可。其实new操作符主要是把原型链跟实例的this关联起来,这才是最关键的一点,所以我们如果需要原型链就必须要new操作符来进行处理。否则this则变成window对象了。
使用new来调用函数,或者说发生构造函数调用时,会自动执行下面的操作:
1.创建(或者说构造)一个全新的对象.
2.这个新对象会被执行[原型]连接.
3.这个新对象会绑定到函数调用的this.
4.如果函数没有返回其他对象,那么new表达式中的函数调用会自动返回这个新对象.
最后一点就说明了,我们只要返回一个新对象即可。其实new操作符主要是把原型链跟实例的this关联起来,这才是最关键的一点,所以我们如果需要原型链就必须要new操作符来进行处理。否则this则变成window对象了。