Où ajouter de la Chaîne de prototype
Je suis actuellement à l'aide de JavaScript (CommonJS) en Titane Studio et avez une question à propos de prototypage.
Supposons que je veux ajouter une nouvelle fonction à une classe existante. Par exemple:
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g,"");
}
Quel est l'endroit le plus approprié où je devrais ajouter ce code de sorte qu'Il est devenu disponible pour toutes les classes?
Merci à l'avance.
OriginalL'auteur junior | 2012-06-27
Vous devez vous connecter pour publier un commentaire.
Ok, j'ai trouvé la meilleure réponse (par Ivan Škugor) et je veux le mettre ici pour partager avec qui ont la même question. Merci pour votre aide.
"L'extension native prototypes en général n'est pas une bonne idée. Dans ce cas particulier, qui ne devrait pas être un problème dans certains autres milieux, mais en utilisant CommonJs, c'est un problème parce que chaque CommonJs module est nouveau JS contexte, ce qui signifie, propre JS environnement. Donc, tout ce que vous faites avec l'environnement (comme l'extension de la maternelle prototypes) ne seront pas répercutées sur les autres modules.
De ce fait, le mieux est d'écrire "utils" module avec des fonctions d'assistance et de "besoin" partout où vous en avez besoin."
— Ivan Škugor
OriginalL'auteur junior
Votre exemple est bon pour l'utiliser, parce que la plupart des navigateurs ont leur propre méthode trim, donc le mieux est de tester pour la maternelle avant d'ajouter votre propre:
OriginalL'auteur kennebec
Assurez-vous qu'il est défini avant tout code va essayer de l'utiliser, et vous serez fixés!
Si vous avez une bibliothèque que vous utilisez tous sur la place, vous pouvez toujours le mettre là. J'ai l'habitude de définir des fonctions qui s'ajoutent à intégrés dans les classes au-dessus de ce que la bibliothèque je suis, y compris, de garder les choses propre et bien rangé. De la même manière que j'ai de définir des attributs CSS des balises HTML en haut du fichier CSS, et les classes/id après.
OriginalL'auteur Sean Johnson