Le problème est que je dois créer une nouvelle instance de la classe passéusine JavaScript avec des arguments optionnels
Est-il possible de réécrire cette fonction, il pourrait accepter un certain nombre d'arguments?
function createInstance(ofClass, arg1, arg2, arg3, ..., argN){
return new ofClass(arg1, arg2, arg3, ..., argN);
}
Cette fonction doit créer une instance de la classe transmise. Exemple:
var SomeClass = function(arg1, arg2, arg3){
this.someAttr = arg3;
.....
}
SomeClass.prototype.method = function(){}
var instance = createInstance(SomeClass, 'arg1', 'arg2', 'arg3');
Cela devrait donc être vrai. Pour l'instant, je viens de limiter N à 25, avec l'espoir que plus d'arguments sont rarement utilisés.
Avez-vous lu l'article de John Resig (lié ci-dessous)? Ça va faire ce que vous voulez (bien que vous aurez besoin de code supplémentaire pour le faire, bien sûr.) Je ne peux pas penser à un autre moyen de simuler un appel à 'new'. La façon dont Resig explique que c'est ce que j'ai vu dans toutes les librairies JavaScript avec une génération de classe dynamique (MooTools par exemple.) – Blixt
Merci, je vais aller avec votre solution. –
Cela a la bonne réponse: http://stackoverflow.com/questions/5054926/javascript-create-instance-with-array-of-arguments –