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
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.
Nasıl bir JavaScript nesnesinin bir öz...
Nasıl iki JavaScript nesnelerin özelli...
Nasıl bir JavaScript nesnesinin özelli...
Nasıl bir JavaScript nesnesinin tüm yö...
Nasıl zaten başlatılmış bir JavaScript...