13-08-2013, 04:30 PM
Citation :Prendre le cas ultime d'une erreur de programmeur pour en faire un argument c'est hors sujet.J'ai pas compris.
"p_" préfixe les paramètres de toutes mes fonctions, tout langage confondu. L'intérêt est d'identifier immédiatement qu'une variable est un paramètre, et d'éviter les:
Code :
function nom(camelParam)
{
/*this.*/camelParam = /*parametre*/camelParam;
}
Je trouve les closures plus lisibles que prototype.
Comme indiqué:
Citation :j'aurai personnellement mis les gaz ailleurs que dans l'Usine elle-même
Mais bon, je peux toujours expliciter plus clairement:
function UsineAGaz(p_listeGaz)
{
var listeGaz = p_listeGaz;
this.produire = function(p_nom)
{
console.log('On me demande le gaz:',p_nom);
var ceGazCi = listeGaz['Gaz'+p_nom];
if (typeof ceGazCi == 'function')
return new ceGazCi();
console.warn('Le gaz "',p_nom,'" n\'existe pas.');
return new listeGaz.GazDefaut();
}
}
function ListeGaz()
{
this.GazXenon = function ()
{
this.saluer = function()
{
console.log('Je suis rare, donc précieux');
};
}
this.GazSchiste = function ()
{
this.saluer = function()
{
console.log('Je pue et je pollue !');
};
}
this.GazEau = function ()
{
this.saluer = function()
{
console.log('Y\'a de l\'eau dans le gaz.');
};
}
this.GazDefaut = this.GazEau;
}
var usine = new UsineAGaz( new ListeGaz() );
usine.produire('Eau').saluer();
usine.produire('pard').saluer();
usine.produire('Schiste').saluer();
usine.produire('Xenon').saluer();
Cela te plait mieux ainsi? Bon, ok, ca m'a couté 5 minutes, j'aurai pu (ou du) le faire dès le départ...