Hola foro...
Antes.. Felices fiestas a todos y q la sigan pasando super bien!!
Bueno... tratare de ser preciso y brebe..
Supongamos 2 funciones declaradas como globales y un objeto con 2 metodos
Código PHP:
function f1(){...},
function f2(){...}
Código PHP:
var mi_obj=function(){
this.f1=function(){...}
this.f2=function(){...}
}
1º Al declarar funciones como globales quedan siempre en memoria y estarán cargadas asi no las use... pero cada vez q llame a la funcion, la 'llamada' será más rápida por q dicha funcion ya fue cargada?
2º En el caso de objetos, si deseo usar una de sus funciones (o metodos), se crea el objeto y luego uso sus funciones... pero no demora mas el tener q crearlo y despues usalo que en el caso anterior q la funcion ya esta declarada?
3º cuando declaro un objeto... queda cargado en memoria como las funciones? o es como si estubiera 'ahi ' pero solo se carga en memoria cuando se lo llama para crearlo o se referencia a un objeto existente para aplicarlo?
4º supongamos q tengo un objeto con 50 funciones (metodos)... creo un objeto por q me interesa solo uno de sus metodos... no es un desperdicio tener q crearlo completamente si en realidad me interesa solo algunas lineas de su code?
5º cual es entonces el beneficio real de trabajar con objetos y no con funciones globales...
P.D.
POR SI LES INTERESA..
Estas preguntas estan en base al analisis del codigo de
thickbox... este conocido plugin de jquery trabaja con funciones globales y no como una extencion del objeto jquery.... logre hacer que thickbox tabaje como una extencion del jquery es decir...
antes llamaba a thickbox con tb_init([selector]), que claramente son funciones globales, ahora hice las dos modalidades....
$([selector]).thickbox();
y tambien
$.thickbox([selector])
GRACIAS!!!