$(obj)
le permite crear un objeto jQuery vacío, pero esto es diferente de $()
Por ejemplo: Tengo una solución de espacio de nombres que necesite disponer de eventos personalizados que tomar medidas basadas en un objeto centralizada. Escribí mi propia clase de EventHandler
que básicamente se ajusta a un entorno privado $({})
Esto me permite tener un objeto que puede actuar como mi poseedor de eventos y disparador. Expongo bind(), unbind() y trigger() en mi clase EventHandler
.
$()
Por otro lado, no permite vincular y disparar ya que no hay un objeto base. No estoy del todo seguro de sus ideas con hacer esto, ya que tendría más sentido tener el "defecto" o un objeto jQuery "vacío" para ser $({})
Para resumir: hay cosas que hace que $({})
$()
no lo hace . Pero $([])
y $()
parecen actuar de la misma cantidad de pruebas que he hecho. Quizás $(new Array())
actúa de manera diferente, pero no me interesa investigarlo.
EDITAR con el ejemplo:
var testA = $();
testA.bind('customEvent', function() { alert('empty custom'); });
testA.trigger('customEvent'); // will not get an alert
var testB = $({});
testB.bind('customEvent', function() { alert('object custom'); });
testB.trigger('customEvent'); // will get an alert
var testC = $([]);
testC.bind('customEvent', function() { alert('array custom'); });
testC.trigger('customEvent'); // acts like testA
legado (de código antiguo o hábitos viejos) y/o explícita (por la opción/preferencia), sí. Hay diferentes maneras de despellejar a un gato. (Crea un nuevo objeto jQuery "vacío") –
Has respondido tu propia pregunta. –
;) Es bueno estar seguro. ¡Gracias por la confirmación! –