SORU
11 Kasım 2008, Salı


Bir " element düzeni; ( ... ) " döngü

"..."Hashtables ile Javascript döngü içinde döngü ilan sırasına göre/elemanlar? bu mu Sırayla yapmıyor olan bir tarayıcı var mı?
Kullanmak istediğiniz nesneyi ilan edilecekbir kezve asla değiştirilecek.

Ben varsayalım:

var myObject = { A: "Hello", B: "World" };

Ve ben daha onları kullanın

for (var item in myObject) alert(item   " : "   myObject[item]);

Bekleyebilirim 'A: ""' her zaman önce gelir 'B : ""' en iyi tarayıcılarda? Dünya Merhaba

CEVAP
11 Kasım 2008, Salı


Quoting John Resig:

Şu anda sırayla tüm büyük tarayıcılar bir nesnenin özellikleri üzerinde döngü tanımlanmış olan. Chrome de bu, birkaç durumlar hariç. [...] Bu davranış açıkça ECMA belirtimi tarafından tanımsız bırakılır. ECMA-262, bölüm 12.6.4:

Özellikleri sıralanıyor mekaniği ... uygulamaya bağlıdır.

Ancak, şartname uygulama oldukça farklı. Tüm modern uygulamaları sırayla tanımlanmış nesne özellikleri ile ECMA yineleme. Bu nedenle Krom takım, bu bir hata olarak kabul etti ve bunu düzeltecektir.

Tüm saygı tanımı sipariş tarayıcılar olmayan sayısal her özellik adı için with the exception of Chrome ve Opera. Bu iki tarayıcı özelliklerini sıralı olmayan sayısal ilk özelliği (bu uyguladıkları dizileri ile ne alakası var) öne geçti. Sipariş Object.keys için de aynıdır.

Bu örnek ne olacağını açıkça belirtmelidir

var obj = {
  "first":"first",
  "2":"2",
  "34":"34",
  "1":"1",
  "second":"second"
};
for (var i in obj) { console.log(i); };
// Order listed:
// "1"
// "2"
// "34"
// "first"
// "second"

Bu teknik bu her an değişebilir aslında daha az önemlidir. Bu şekilde kalan şeyler güvenmeyin.

Kısacası:Eğer sipariş sizin için önemli ise bir dizi kullanın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • fireflame65

    fireflame65

    27 Mart 2007
  • Google Developers

    Google Devel

    23 AĞUSTOS 2007
  • HouseholdHacker

    HouseholdHac

    6 Kasım 2007

İLGİLİ SORU / CEVAPLAR