? He visto esto hecho mucho en JavaScript y recuerdo haber averiguado por qué, pero no recuerdo la respuesta.¿Por qué crearía una variable con valor este
supongo que es algo que ver con el alcance y la función de ser llamado fuera de la "clase", pero ¿por qué uno hacer esto (preferiblemente esbozar un ejemplo):
function myClass()
{
var self = this;
//...
this.myArray = [];
this.myFunc = function() { alert(self.myArray.length); };
}
Así que en mi ejemplo (ahora actualizada), habría todavía necesito el '' self' antes de acceder miMatriz 'in function' myFunc'? – Cheetah
Este ejemplo específico no es muy bueno, 'forEach' toma un segundo argumento que estará ligado a' this' dentro de la devolución de llamada, que debería ser preferible a la creación de la variable 'self '' hacky' '. – Esailija
@Ben Depende de cómo se invoca el método. Por ejemplo: 'var o = {f: function() {return this}}; o.f() == o;/* true */var f2 = o.f; f2() == ventana;/* true */' – Phrogz