function Set() { // This is the constructor
this.values = {};
this.n = 0;
this.add.apply(this, arguments); // All arguments are values to add
}
// Add each of the arguments to the set.
Set.prototype.add = function() {
/* Code to add properties to the object's values property */
return this;
};
Este es el comienzo del código utilizado en "Javascript: The Definitive Guide" para crear una clase "Set". Intenté racionalizar la necesidad de la función apply()
en el constructor pero no puedo resolverlo por mi cuenta.¿Por qué es necesaria la función apply() en el constructor
this.add.apply(this, arguments);
si la función add()
es ya un método llamado por 'this
' entonces qué propósito o uso es la función básica apply()
cumplimiento. Gracias de antemano a cualquier persona que trata de explicar esto a mí
http://jsfiddle.net/Marlin/Ydwgv/ - Ejemplo completo de Javascript: La guía definitiva
Parece ser de poca utilidad. Nunca lo * visto * ... – Blender
¿Qué piensas sobre el hecho de que están pasando el objeto de argumentos? – ChaosPandion
¿No cree que podría tener algo que ver con asegurarse de que add() no se agregue como una propiedad de la instancia en lugar del prototipo? Entiendo que no está siendo declarado ... pero seguro me está confundiendo – Marlin