В чем разница между каждым из следующих определений массива.
var myArray = [];
var myArray = {};
var myArray = new Array();
javascript
arrays
Пинки
источник
источник
myObject["someValue"]
илиmyObject.someValue
. Пустой объект, созданный с помощью{}
, конечно, не будет иметь этих свойств, но вы можете назначить их таким же образом:myObject.someValue = "hello!"
var a = new Array(5)
иvar b = [5]
, тоa
≠b
(посколькуa.length
= 5, в то время какb.length
= 1,a[0]
этоundefined
времяb[0]
равно 5, и т. Д.)var a;
иvar a = {};
то же самое?var myObject = {};
эквивалентно varmyObject = new Object();
Итак, второй пример - не общий,
Array
а общийObject
.Это может сбивать с толку как
Array
класс, так иObject
класс, точнее,Array
подклассObject
. Итак, в целомObject
семантика применима кArray
:источник
o['property1'] = 'property value'
вы фактически не добавляете элемент в массив, а устанавливаете свойство объекта массива . Смущенный? Я сказал тебе;) В JavaScript в основном все является объектом. Другие объекты, какArray
,RegExp
... расширить базовый объект с дополнительной функциональностью. Простой пустой объект создается с помощью фигурных скобокplain_obj = {}
.