SORU
17 EYLÜL 2008, ÇARŞAMBA


Nasıl bir JavaScript nesnesinin özelliklerini sıralamak mı?

Nasıl bir JavaScript nesnesinin özelliklerini sıralamak mı?

Aslında tanımlı değişkenleri ve değerlerini tüm listesi için istiyorum, ama bir değişken tanımlama aslında pencere nesnesinin bir özelliğini oluşturur öğrendim.

CEVAP
17 EYLÜL 2008, ÇARŞAMBA


Yeterince basit:

for(var propertyName in myObject) {
   // propertyName is what you want
   // you can get the value like this: myObject[propertyName]
}

Şimdi, mevcut olmadığı için özel değişkenler bu şekilde alamazsınız.


EDİT: @bitwiseplatypus doğru olduğu sürece kullandığınız hasOwnProperty() yöntem, sen-ecek almak özelliklerini miras - ancak, neden bilmiyorum herkes aşina Nesneye Yönelik Programlama beklediğiniz şey daha az! Genellikle, bu getiren biri hala beni biraz kafalarını karıştıran bu konuda Douglas Crockford uyarılara maruz kaldı. Yine, miras OO dilleri normal bir parçasıdır ve bu nedenle JavaScript parçasıdır, buna rağmen prototip.

Şimdi, " dedi hasOwnProperty()filtreleme için yararlı, ama eğer kalıtsal özellikleri almak tehlikeli bir şey varsa bir uyarı sesi gerek yok.

EDİT 2: @bitwiseplatypus getirir durum bu gerçekleşirse birini eklemek özellikleri/yöntemleri için nesneleri bir nokta saati daha sonra zaman ilk yazan nesneler () prototipi) - doğru olan bu olabilir beklenmeyen bir davranış, ben şahsen görmüyorum olarak benim sorunum tamamen. Görüş meselesi sadece. Ayrıca, benim nesneler inşaatı sırasında prototip kullanıyorum ve nesnenin özelliklerini üzerinde dolaşır bir kod var ve henüz tüm kalıtsal özellikleri istediğim şekilde işler plan ne? hasOwnProperty() kullanmazdım. Sonra, diyelim ki, birisi daha sonra yeni özellikler ekliyor. İşler kötü bu noktada yardımcı olursanız benim hatam mı? Ben öyle düşünmüyorum. Bu sayfa ekleme bir örnek olarak, nasıl çalıştığını uzanan belirtilen yolu (jQuery.extend jQuery.fn.extend) neden olduğunu düşünüyorum.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ABC News (Australia)

    ABC News (Au

    9 HAZİRAN 2008
  • Ryan Billy

    Ryan Billy

    30 EKİM 2006
  • Sali Kaceli

    Sali Kaceli

    24 ŞUBAT 2009