new运算符配合构造函数使用, 创建一个用户定义的对象类型的实例或具有构造函数的内置对象类型之一。例如:
//利用JavaScript内置对象的构造函数创建实例:var date = new Date() //返回当前日期
var ary = new Array(1, 2, 3) //创建一个数组, 等价于 var ary = [1, 2, 3]
//自定义构造函数:
function Person(name, age, sex) {
this.name = name
this.age = age
this.sex = sex
}
//创建实例(构造函数可以理解为模板, 实例可以理解为套用模板的具体对象):
var tom = new Person("Tom", 10, "male")
var lucy = new Person("Lucy", 12, "female")
console.log(tom.name) // Tom
console.log(lucy.age) // 12
推荐有一下几种方式:1.对象字面量创建对象
var
obj
=
{
a:1,b:2
}
注意:对象字面量是一个表达式,这种表达式每次运算都会创建并初始化一个新对象,并计算这个新对象的每个属性值。所以如果在循环体内使用对象字面量,每次循环时都会创建新对象。
2.通过new运算符创建对象
var
obj
=
new
object()
//创建空对象
var
ary
=
new
array()
//创建空的数组对象
注意:new运算符后面跟的是一个函数调用,这个函数被称为构造函数。js中原始类型都包含内置的构造函数,也可以自己定义构造函数。
3.通过立即执行函数创建对象
var
obj
=
(function(){
return
{x:1,y:2}}())
注意:在立即执行函数内部一定要有return语句,return出的内容就是待创建的对象。
//定义数组的值为a,b。var arr = new Array('a', 'b')
console.log('数组的长度'+ arr.length)
console.log('数组的值'+ JSON.stringify(arr))
//是定义一个长度为3的数组。
var arr = new Array(3)
console.log('数组的长度'+ arr.length)
console.log('数组的值'+ JSON.stringify(arr))