2012-09-10 16 views
6

Temel bilgiler JavaScript'i öğreniyorum (ancak C# gibi başka dillerde programlıyorum). Bu iki yolun hangisinin daha verimli olduğu ve genel kural olarak kullanılması gerektiği sorusunu sordu.Literal notasyon VS. yapıcı JavaScript oluşturmak için nesneler

Kesin bir cevap beklediğimden eminim ama genel eksileri ve eksileri bilmek istiyorum.

Teşekkür ederim!

+1

her ikisinin de kullanımı vardır, seçim birini veya diğerini kullanmamaktır. – Ibu

+1

Aynı soruya burada daha iyi cevaplar: http://stackoverflow.com/questions/4859800/should-i-be-using-object-literals-or-constructor-functions – BritishDeveloper

cevap

8

Nesne değişmezleri genellikle yoldur. Komut dosyası yüklenirken, yalnızca komut dosyası altyapısı tarafından çeşitli optimizasyonlar yapabilecek şekilde ayrıştırılmaları gerekir. Oluşturucular çalıştırılmalıdır. Bu, daha yavaş olacakları anlamına gelir, ancak bunlara kolayca bazı doğrulama kodu vb. Ekleyebilirsiniz ve bunlar, ortak, ayrıcalıklı yöntemlerle ve kurucular kapsamına gizlenmiş özel "özniteliklerle" karmaşık nesnelerin oluşturulmasına izin verir. Ayrıca, elbette faydalı bulabileceğiniz bir prototipi paylaşan nesneler kuruyorlar.

4

Birinin diğerinin performans veriminin farkında değil. Ancak, basitlik gösterimi basitlik argümanı nedeniyle tercihini almakta ve kurucuları ve new anahtar sözcüğünü kullanmamaktan dolayıdır.

Oluşturucular ve new anahtar sözcüğü, bazıları tarafından JavaScript dilinin olumsuz özellikleri olarak görülür (bkz. Crockford - JavaScript: The Good Parts). JSLint, new Array() veya new Object() kullanımında bile arama yapar.