J'ai fait beaucoup de templating en JS ces derniers temps, et j'ai donc invariablement rencontré le "méchant" with
déclaration.
Il est beaucoup plus facile de travailler avec les modèles, car vous n'avez pas à faire précéder vos variables d'un objet.
Entendre que les déclarations avec sont mauvaises et aussi qu'elles mai en raison des mauvaises performances, j'ai cherché une autre solution :
Ma solution : Fonction avec un bouquet de fleurs de paramètres
Voici mon code :
var locals = {
name : "Matt",
email : "wahoo@wahoo.com",
phone : "(555) 555-5555"
};
var keys = [];
var values = [];
for (key in locals) {
local = locals[key];
keys.push(key)
values.push(local);
}
keys = keys.join(',');
var fn = new Function(keys, "**TEMPLATE STUFF**"); // function(name, email, phone) {...}
fn.apply(this, values); // fn("Matt","wahoo@wahoo.com","(555) 555-5555")
Remarque : ces deux éléments accomplissent exactement la même chose. Elles sont toutes les deux abstraites de tout le monde, donc une liste de paramètres odieusement longue n'est pas un problème.
Je me demande ce qui est le mieux : utiliser une instruction with ou une fonction avec le potentiel d'un nombre fou de paramètres.
À moins que quelqu'un n'ait une meilleure solution... ?
Merci ! Matt Mueller