2010-04-28 24 views
11

Hey, şu an çalışmayı denemeye çalışırken sorun yaşıyorum. İşte denediğim şeyin örnek kodu. Çok şey çıkarıldı, ancak bu hala sorunu içermelidir. Bir nesneyim, kullanıcım ve bir dizim var, oyuncu.Javascript nesnesini diziye itme

function user(name, level, job, apparel) 
{ 
this.name = name; 
this.state = "alive"; 
this.level = level; 
this.job = job; 
this.apparel = apparel; 
} 

player = new array(); 
player.push(new user("Main Player", 1, 1, "naked")); 
document.write(player[0].name); 

Ama, hiçbir şey echo'd ediliyor çalışan değil: Burada, içinde oyuncularla bir dizi yapmaya çalışıyorum. Neyi yanlış yapıyorum?

+2

, bunun yerine array' 'arasında' Array' yazdı. Ayrıca player = []; 'kullanabilirsiniz, ayrıca bu önemlidir, kullanıcı işleviniz bir nesne tanımıdır, bu yüzden Kullanıcı ve kullanıcı değil çağrılmalıdır (elbette sorun değil). –

cevap

11

Ben

player = []; 

yerine bir sağlamlık denetimi olarak

player = new array(); 

yapacağını yapıyor deneyin:

document.write("Name: " + player[0].name); 
+0

player [] = yeni kullanıcı ("TehMeanie", 1, 1, "naked"); Neden bu işe yaramaz? – Anonymous

+0

Bunun gibi değil. 'player = []; player.push (yeni kullanıcı ("TehMeanie", 1, 1, "naked")); – rahul

+0

player [0] = yeni kullanıcı ("TehMeanie", 1, 1, "naked"); – KooiInc

22

Kodunuzda bir yazım hatası var.

Değişim

player = new array(); 

player = new Array(); 
+15

Daha da iyisi: bir dizi değişmezi (daha hızlı) kullanın: var player = []; – KooiInc

7

Eh için, bir hata var. array değil, Array değil.

+0

Vay, teşekkürler, tam anlamıyla böyle olabileceğini bilmiyordum. – Anonymous

+2

Javascript büyük/küçük harf duyarlı: http://wiki.answers.com/Q/Is_javascript_case_sensitive – nc3b

1

Bu çalıştı ve çalıştı:

player = [{}]; 

yerine: tüm cevapları belirttiğimiz gibi

player = new Array(); 
+0

'player = [{}]' boş bir diziyi başlatmıyor olsa da çalışır. Boş bir nesne olan 1 öğe ile bir dizi başlatılıyor. Onlar aynı değiller. –

İlgili konular