2011-02-26 27 views

cevap

108

Birinci ve üçüncü eşdeğerdir ve yeni bir dizi oluşturur. İkincisi, bir dizi değil, yeni bir boş nesne oluşturur.

var myArray = []; //create a new array 
var myArray = {}; //creates **a new empty object** 
var myArray = new Array(); //create a new array 
+0

nasıl nesnenin değerlerini erişirim. – Pinkie

+0

@Pinkie: Buraya bakın: http://www.javascriptkit.com/javatutors/oopjs.shtml –

+2

Köşeli parantez veya nokta notasyonu ile: 'myObject [" someValue "]' veya 'myObject.someValue'. '{}' Tarafından yaratılan boş nesne elbette bu özelliklere sahip olmayacaktır, ancak bunlara aynı şekilde atayabilirsiniz: 'myObject.someValue =" merhaba! "' – johusman

27

var myObject = {}; Yani, ikinci örnek bir Array ama genel Object değil var myObject = new Object();

eşdeğerdir. Array bir sınıftır ve Object bir sınıftır olarak

Bu kafa karıştırıcı alabilirsiniz - daha doğrusu ArrayObject bir alt sınıftır. Yani, genel olarak, Object semantik bir Array uygulanabilir:

var o = []; 
o.push('element1'); 
o.push('element2'); 
o['property1'] = 'property value'; // define a custom property. 
console.log(o.property1); 
console.log(o.length); // Outputs '2' as we've only push()'ed two elements onto the Array 
+2

, özellik1 saklanır. – Pinkie

+7

@Pinkie dizisinde yok: Bu şimdi kafa karıştırıyor: * Diziler de nesneler *. 'O ['property1'] = 'özellik değeri' 'yaparak, aslında diziye bir eleman eklemiyorsunuz, ancak * dizi nesnesinin bir özelliğini * ayarlıyorsunuz. Şaşkın? Sana söyledim;) JavaScript’te temel olarak her şey bir nesnedir. Array, RegExp gibi diğer nesneler, temel nesneyi daha fazla işlevsellikle genişletir. Sade, boş bir nesne, küme parantezleri 'plain_obj = {}' ile oluşturulur. –

İlgili konular