«prototype-programming» etiketlenmiş sorular



5
Prototipal kalıtımın klasiklere göre faydaları?
Sonunda tüm bu yıllar boyunca ayaklarımı sürüklemeyi bıraktım ve JavaScript'i "düzgün" öğrenmeye karar verdim. Diller tasarımının en temel unsurlarından biri mirasın uygulanmasıdır. Ruby'de deneyim sahibi olduğum için, kapanışları ve dinamik yazmayı gördüğüm için çok mutlu oldum; ama benim hayatım için miras için başka örnekleri kullanarak nesne örneklerinden ne gibi faydalar …


3
prototip tabanlı ve sınıf tabanlı kalıtım
JavaScript'te her nesne aynı zamanda bir örnek ve bir sınıftır. Kalıtım yapmak için, herhangi bir nesne örneğini prototip olarak kullanabilirsiniz. Python, C ++, vb. 'De ayrı kavramlar olarak sınıflar ve örnekler vardır. Kalıtım yapmak için, daha sonra türetilmiş örnekler üretmek için kullanılabilecek yeni bir sınıf oluşturmak için temel sınıfı kullanmanız …


8
__Proto__'un constructor.prototype'den farkı nedir?
function Gadget(name, color) { this.name = name; this.color = color; } Gadget.prototype.rating = 3 var newtoy = new Gadget("webcam", "black") newtoy.constructor.prototype.constructor.prototype.constructor.prototype Nesneyi her zaman rating = 3 ile döndürür. Ama eğer aşağıdakileri yaparsam: newtoy.__proto__.__proto__.__proto__ Zincir geri dönüyor null. Ayrıca Internet Explorer'da bir __proto__özellik yoksa null değerini nasıl kontrol ederim ?

3
Javascript kalıtımı: süper yapıcı mı yoksa prototip zinciri mi kullanılıyor?
Son zamanlarda MDC'de JavaScript çağrı kullanımını okudum https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/call aşağıda gösterilen örneğin bir bağlantısını hala anlamıyorum. Neden burada mirası böyle kullanıyorlar? Prod_dept.prototype = new Product(); bu gerekli mi? Çünkü içinde süper yapıcıya bir çağrı var Prod_dept() neyse, böyle Product.call bu sıradan bir davranış mı? Ne zaman süper yapıcı için çağrı kullanmak …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.