Çirkinlik özneldir, ama görelim.
Genellikle yazın:
function Foo() {}
Foo.prototype.method1 = function() { /*...*/ };
Foo.prototype.method2 = function() { /*...*/ };
Sen yeni bir operatör tarafından oluşturulan örneklerine devralınacak istiyorum özelliklere sahip prototype
nesneyi bir constructor function uzanır. Eğer Foo
kurucu örneğini oluştururken var obj = new Foo();
Örneğin ile
, bu nesne Foo.prototype
nesne ve prototype chain daha yüksek diğer nesnelere bağlı olan tüm özellikleri devralır.
function Foo() {}
Foo.method('method1', function() { /*...*/ });
Foo.method('method2', function() { /*...*/ });
Temelde sadece gizler: Böyle yöntemini çağırabilirsiniz böylece
Crockford yöntemi, bu yöntem Function.prototype
nesne tanımlanır aynısını yapar, tüm fonksiyonlar, bu nesneden devralır Crockford çirkin gördüğü kodundan prototype
kelime ...
"iyi Parçaları JavaScript" gerçekten iyi bir kitap, ama kişisel bir perspektiften dayanmaktadır düşünüyorum Douglas Crockfor d dili vardır. kodunu okurken kelime "prototip" kullanma
Ben bir çok şey ile ona katılıyorum, ama ben de bazı yönleri ile katılmıyorum ...
daha açık ve belirgin gözükmektedir. Cevap için teşekkürler :) – Matrym
Katılıyorum. Crockford bu davada yanlış bir ağaç havlıyor IMO. – bobince