[1] : Mise en place de Prototype
<script type="text/javascript" src="/js/prototype.js"></script>
Utilisation de $()
var elements = $('enTete', 'piedDePage');
Utilisation de $A(), combinée à $()
var listeOptions = $('liste') .getElementsByTagName('option');
var options = $A(listeOption);
nodes.each(function(options) { ...code... } );
Utilisation $F()
var monIdentifiant = $F('identifiant');
Utilisation de $H()
var hashVide = $H();
var objetHash = $H(a);
Utilisation de $R()
var range = $R(10, 20, false);
Utilisation de Try.these()
return Try.these(
function() { return new XMLHttpRequest() },
function() { return new ActiveXObject('Msxml2.XMLHTTP') },
function() { return new ActiveXObject('Microsoft.XMLHTTP') }
)
|
Les fonctions utilitaires
L'inclusion de la bibliothèque est on ne peut plus sans équivoque : [1].
Une fois installé, tout code JavaScript a accès aux différentes fonctions et méthodes proposées par le framework. On y trouve tout d'abord des fonctions utilitaires, démarquées par leur nom commençant avec un $ : $(), $A(), $F(), $H(), $R(), et Try.these(). Toutes ne fonctionnent pas de la même manière, mais apportent un avantage certain aux développeurs JavaScript.
$() : Un raccourci pour l'appel DOM document.getElementById(). Un seul id fourni et elle renvoie la référence à l'élément indiqué ; plusieurs id fournis et elle renvoie un tableau de références aux éléments indiqués.
$A() : Prototype implémente un module Enumerable pour la classe Array, et nombre de méthodes les rendant plus efficaces que les méthodes de tableau du DOM. $A() fait profiter de ces méthodes aux listes, en convertissant un argument de type "tableau" en un véritable Array.
$F() : Autre raccourci très utile, $F() implémente une fonction permettant de récupérer la valeur d'un élément HTML dont on fournit l'id, ou la référence.
$H() : Crée un objet hash, à partir de la classe Hash de Prototype, ou convertit un objet existant en hash, celui-ci profitant des méthodes d'Enumerable.
$R() : Un dernier raccourci, qui crée un objet ObjectRange. La classe ObjectRange, créée par Prototype, représente un intervalle de valeur pour n'importe quel objet. Littéralement, $R() est traduit en new ObjectRange(limiteInférieure, limiteSupérieure, exclureLimites?).
Try.these() : Plutôt que de devoir enchaîner les if..elseif, construire une hiérarchise switch() ou try/catch, le développeur peut simplement fournir ses fonctions à tester à Try.these(), et la prochaine qui renvoie True fait renvoyer True à Try.these(). Très utile donc pour tester la présence d'un élément ou d'une fonctionnalité.
Prototype étend par ailleurs largement les classes Array, String et Number...
|