programmer en object orient� en JS la diff�rence entre deux m�thodes ?
Bonjour,
J'essaye de cr�er une librairie perso en JS, et je cherche � percer la programmation en objet avec les tutos que j'ai trouv� sur ce site mais j'ai tout de m�me des questions :
Je commence par un bout de code que j'ai repris d'une librairie d�j� existante :oops: (oui je sais ...), donc voil� la base :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
(function() {
var window = this,
manager = window.manager = window.$ = function(el) {
return new manager.fn.init(el);
};
manager.fn = manager.prototype = {
init : function(el) {
... code de sélection des éléments ....
},
};
})();
$() // c'est ok ça fonction |
Maintenant j'essaye de cr�er une fonction �quivalente � trim() en php, mais en l'appelant ainsi dans init() :
Code:
1 2 3 4
|
init : function(el) {
el.trim();
}, |
Mais c'est l� que je ne comprends pas la m�thode car suivante fonctionne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
(function() {
... CODE ...
manager.fn = manager.prototype = {
init : function(el) {
el.trim();
},
};
String.prototype.trim = function() {
... CODE QUI TRIM ...
}
})(); |
Pouvez-vous m'expliquer pour quoi je ne peux pas faire comme ceci :
Code:
1 2 3 4 5 6 7 8 9
|
manager.fn = manager.prototype = {
init : function(el) {
el.trim()
},
trim : function() {
}
}; |
Sous la forme json (dites moi si je me trompe de terme).
Dans le premier cas, j'ai fait une "extension" � l'objet "String" via prototype, mais n'y a t'il pas moyen de faire la m�me chose avec la deuxi�me m�thode ?
Merci d'avance de vos explications.
Bien cordialement.