Francophone je sais pas.. en anglais en tout cas, les sujets sont légion:
http://www.xml.com/pub/a/2006/06/07/obj ... cript.html
http://www.webdevelopersjournal.com/art ... egin3.html
ou encore ceci:
http://pagesperso-orange.fr/jean-paul.d ... /js06.html
Mais en général, c'est assez aisé à comprendre. On peut se dire que tout peut être une fonction, comme tout peut être un tableau aussi. Un objet étant alors un tableau de fonctions..
et juste une parenthèse, mais il n'y a pas de "classes" en prototype. Il n'y a que des objets, qu'on peut cloner et modifier, et créer de toute pièce (sans passer par des classes)
Le plus simple, c'est de créer un objet ex-nihilo:
Code : Tout sélectionner
var monobjet = {
chaine:"lachaine",
tableau:["el1","el2","el3"],
methode1:function(var)
{
alert (var);
},
methode2:function()
{
alert(this.chaine);
}
}
Hop, on a un objet "monobjet", avec quelques valeurs, et 2 méthodes. Pour compliquer, on aurait encore pu ajouter un objet dedans, mais ça devient lourd.
Après, on peut cloner l'objet:
(je sais plus s'il faut un new, pour le clonage. Probablement, à tester).
En prototype, tu peux aussi facilement ajouter des méthodes, en enlever, c'est autorisé et encouragé.
Code : Tout sélectionner
monobjet.methode3= function(var) { alert(var + this.chaine);}
C'est une façon plus naturelle (plus adaptée au prototype) que de passer par un "constructeur", comme ceci:
Code : Tout sélectionner
function monobjet ()
{
this.chaine = "chaine";
this.tableau = array("el1","el2");
this.methode1 = function(var) {}
}
var objet = new monobjet;
Et il y a encore d'autres joyeusetés (le code source de JQuery est assez impressionnant), mais bon.. C'est assez chouette de découvrir JS.