JS new运算符

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

  1. new contructor(arguments)

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

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

示例1

下面代码使用 new 运算符实例化 Array,并演示 3 种不同的使用方法。

  1. var a = new Array; //创建数组,省略小括号
  2. var b = new Array(); //创建数组
  3. var c = new Array(1,2,3); //创建数组,并初始化元素值
  4. console.log(c[2]); //读取创建数组对象的元素值,返回3

new 被执行时,首先会创建一个新对象,然后调用指定的构造函数,并根据传入参数初始化实例最后把初始化的实例传递给新对象。

示例2

下面代码自定义类,然后使用它创建新的对象。

  1. var a = function(){ //自定义类型函数a
  2. this.x = 1; //属性x
  3. this.y = 2; //属性y
  4. };
  5. var b = new a; //创建对象
  6. console.log(b.x); //调用对象属性x,返回1