目录
介绍
new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。
new 关键字的操作
new 关键字会进行如下操作:
1. 创建一个空的简单 JavaScript 对象(即 {} );
2. 为步骤 1 新创建的对象添加属性 _ _proto_ _ ,将该属性链接至构造函数的原型对象;
3.将步骤 1 新创建的对象作为 this 的上下文;
4. 如果该函数没有返回对象,则返回 this。
返回对象说明
如果返回了对象,
返回的对象的类型是 Object 时,返回 undefined;
返回的对象的类型是 function 时,返回 函数名;
返回的对象的类型是 Array 时,返回 undefined;
返回的对象的类型是 基本类型 时,返回 this;
其他说明
如果使用构造函数创建对象没有使用 new 运算符时,构造函数会像其他的常规函数一样被调用,并不会创建一个对象。在这种情况下,this 指向也是不一样的。
例:
function Person