Şu anda javascript oluşturmak için iki yol biliyorum. Birincisi:Dönüşü kullanmadan bir kurucu ile bir JavaScript singleton nasıl oluşturulur?
var singleton = {
publicVariable: "I'm public",
publicMethod: function() {}
};
O ben başlatma kodu çalıştırabilir bir kurucu yok haricinde mükemmel.
İkincisi:
(function() {
var privateVariable = "I'm private";
var privateFunction = function() {}
return {
publicVariable: "I'm public",
publicMethod: function() {}
}
})();
ilk sürümü özel özelliklere sahip değildir ne de bir kurucu var, ancak daha hızlı ve basittir. İkinci versiyon daha karmaşık, çirkin, ama bir kurucu ve özel özelliklere sahip. Ben özel özellikleri için bir ihtiyaç değilim
, sadece yapıcı olmasını istiyorum. Kaybettiğim bir şey var mı yoksa sahip olduğum tek şeylerin üstünde iki yaklaşım var mı?
İkinci yaklaşım "çirkin" değil; dilin doğal bir parçası. Fonksiyonlu fonksiyonlar oluşturabilmek, Javascript'in en güçlü özelliklerinden biridir. – Pointy