JS new运算符

new 是一个运算符,可以创建对象,初始化实例。其语法格式如下:

new contructor(arguments)

constructor 必须是一个构造函数表达式,参数 arguments 可有可无,参数之间用逗号分隔。如果没有逗号,可以省略小括号。

在最新的参考资料中,new 已从运算符列表中被移出,作为命令使用,扮演多重角色。

示例1

下面代码使用 new 运算符实例化 Array,并演示 3 种不同的使用方法。
var a = new Array;  //创建数组,省略小括号
var b = new Array();  //创建数组
var c = new Array(1,2,3);  //创建数组,并初始化元素值
console.log(c[2]);  //读取创建数组对象的元素值,返回3
new 被执行时,首先会创建一个新对象,然后调用指定的构造函数,并根据传入参数初始化实例最后把初始化的实例传递给新对象。

示例2

下面代码自定义类,然后使用它创建新的对象。
var a = function(){  //自定义类型函数a
    this.x = 1;  //属性x
    this.y = 2;  //属性y
};
var b = new a;  //创建对象
console.log(b.x);  //调用对象属性x,返回1