有two different种方法可以在JavaScript中创建空对象:
var objectA = {}
var objectB = new Object()
脚本引擎处理它们的方式有什么不同吗?有什么理由用一个代替另一个吗?
同样,也可以使用不同的语法创建空数组:
var arrayA = []
var arrayB = new Array()
有two different种方法可以在JavaScript中创建空对象:
var objectA = {}
var objectB = new Object()
脚本引擎处理它们的方式有什么不同吗?有什么理由用一个代替另一个吗?
同样,也可以使用不同的语法创建空数组:
var arrayA = []
var arrayB = new Array()
使用new Object();
没有任何好处——而{};
可以使代码更紧凑、更可读.
对于定义空对象,它们在技术上是相同的.{}
语法更短、更整洁(不那么Java风格),并且允许您立即填充内联对象,如下所示:
var myObject = {
title: 'Frog',
url: '/img/picture.jpg',
width: 300,
height: 200
};
对于数组,使用new Array();
比[];
几乎没有任何好处,只有一个小的例外:
var emptyArray = new Array(100);
创建一个undefined
项长的数组,其中所有插槽都包含undefined
个,这在某些情况下(例如(new Array(9)).join('Na-Na ') + 'Batman!'
)可能很好/有用.
new Object();
--它比{};
要笨重,而且看起来很傻.[];
-除非需要快速创建具有预定义长度的"空"array.