¿Cuál es la mejor práctica, que resulta en un mejor rendimiento?Cierre de JavaScript vs. variable global
ACTUALIZACIÓN: jsperf.com informa que (a) es más rápido @http://jsperf.com/closure-vs-global-variable
a) utilizar un cierre
var obj = {
init: function() {
var self = this;
$('#element').click(function() {
self.clickEvent();
});
},
clickEvent: function() {
this.miscMethod();
},
miscMethod: function() {}
};
b) utilizando la variable global
var obj = {
init: function() {
// removed self=this closure
$('#element').click(this.clickEvent); // simple method handler
},
clickEvent: function() {
obj.miscMethod(); // global variable used
},
miscMethod: function() {}
};
El código es una sintaxis no válida. – SLaks
Consulte mi respuesta, y también este enlace: http://javascript.crockford.com/private.html. Explica más sobre cómo funcionan los cierres. – JustcallmeDrago
http://jsperf.com/closure-vs-global-variable/5 me dice que (b) es más rápido. ¿Qué nos enseña eso sobre jsperf.com? – user123444555621