Aşağıdaki dizi tanımlarının her biri arasındaki fark nedir?JavaScript dizileri parantez vs parantez
var myArray = [];
var myArray = {};
var myArray = new Array();
Aşağıdaki dizi tanımlarının her biri arasındaki fark nedir?JavaScript dizileri parantez vs parantez
var myArray = [];
var myArray = {};
var myArray = new Array();
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
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 Array
Object
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
, özellik1 saklanır. – Pinkie
@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. –
nasıl nesnenin değerlerini erişirim. – Pinkie
@Pinkie: Buraya bakın: http://www.javascriptkit.com/javatutors/oopjs.shtml –
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