C'est comme...
var obj = new Object();
obj.function1 = function(){
//code
}
ou quelque chose comme ça?
C'est comme...
var obj = new Object();
obj.function1 = function(){
//code
}
ou quelque chose comme ça?
Vous pouvez le voir à partir des réponses que vous avez déjà qu'il y a plus d'une façon.
#1
var o = new Object();
o.method = function(){}
#2
var o = new Object();
o.prototype.method = function(){}
#3
function myObject() {
this.method = function(){}
}
var o = new myObject();
#4
function myObject() {}
myObject.prototype.method = function(){}
var o = new myObject();
#5
var o = {
method: function(){}
}
#3 et #4 sont à l'aide d'une fonction constructeur. cela signifie que vous pouvez utiliser pour créer un certain nombre d'objets de la même classe (les classes n'existent pas vraiment en JavaScript)
#4 est différent de #3 parce que tous les objets construits avec #4 partage la même "méthode "" la méthode, car c'est une propriété de leur prototype. Cela permet d'économiser de la mémoire (mais seulement une très petite quantité) et si vous modifiez la méthode du prototype, tous les #4 objets sera immédiatement mis à jour, même si ils ont déjà été instancié.
#1, #2 et #5 sont toutes à peu près équivalent. C'est parce qu'il y aura probablement toujours être l'un d'eux à un moment, donc le fait que #2 a la méthode a été ajoutée le prototype n'a pas vraiment d'importance. (ne pas prendre le clonage en compte)
Il y a toujours plusieurs façons d'ajouter des méthodes à des objets en utilisant des usines avec fermeture ou l'ajout de "statique" propriétés/méthodes à des fonctions ou privé des fonctions imbriquées... :)
Généralement utiliser le prototype de la propriété:
function YourObject()
{
//
}
YourObject.prototype.yourMethod= function()
{
//
}
Une chose que je n'ai vu personne mentionner encore est pourquoi vous pourriez vouloir utiliser l' prototype
de la propriété, disons, de l'objet littéral notation: ainsi, la définition de la fonction partagé est sur toutes les instances d'objets créés à partir de votre prototype de fonction, plutôt qu'une fois par instanciation.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.