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