Javascript ne dispose pas d'un concept de « classe », il est tout au sujet de prototype et la façon dont vous les utilisez [et vous pouvez simuler tout type d'héritage avec cette petite fonctionnalité soignée. ] En javascript "Fonction" joue le rôle de [Classe, Méthode et Constructeur]. Afin de créer un comportement "Classe" en Javascript, tout ce que vous devez faire est d'utiliser la puissance de "Fonction".
var A = function(){
alert('A.Constructor');
}
A.prototype = {
method : function(){
alert('A.Method');
}
}
var b = new A(); // alert('A.Constructor');
b.method(); // alert('A.Method');
maintenant la chose intéressante à propos de JS est que vous pouvez facilement créer un comportement « d'héritage » en utilisant la même méthode. Tout ce que vous avez à faire est de connecter la deuxième chaîne "Prototype Chain" à la première, Comment?
B = function(){
this.prototype = new A(); // Connect "B"'s protoype to A's
}
B.prototype.newMethod = function() { alert('testing'); }
var b = new B();
b.method(); // Doesn't find it in B's prototype,
// goes up the chain to A's prototype
b.newMethod(); // Cool already in B's prototype
// Now when you change A, B's class would automatically change too
A.prototype.method = function(){ alert('bleh'); }
b.method(); // alert('bleh')
Si vous avez besoin de références, je suggère de jeter un oeil à Douglas Crockford's Site ing Bonne JS.
typo: désaccord de nom entre. Test/TestImpl –
Merci Jason :) –