Cuál es la diferencia entre
$(function() { // bind some event listeners });y
$(function() { // bind some event listeners }());$(function() { // bind some event listeners });En el caso anterior, la función se pasa a jquery, que se ejecutará una vez que el documento esté listo.
$(function() { // bind some event listeners }());En el caso anterior, el retorno de la función se pasa a jquery. Dado que la función se ejecuta sola, se ejecutará de inmediato y todo lo que devuelva la función se pasará a jquery, por lo que esta no es una buena manera porque el objetivo es ejecutar la función una vez que el documento esté listo, lo que no está sucediendo en este caso
$(function(){...}); OR $(document).ready(function(){ ... });Esta función se llama cuando el DOM está listo, lo que significa que puede comenzar a consultar elementos, por ejemplo. .ready() usará diferentes formas en diferentes navegadores para asegurarse de que el DOM realmente ESTÁ listo.
(function(){ ... })();Eso no es más que una función que se invoca a sí misma lo antes posible cuando el navegador está interpretando tu JavaScript. Por lo tanto, es muy poco probable que pueda actuar con éxito en los elementos DOM aquí.
$(function() { // bind some event listeners });Este se ejecutará solo cuando el DOM esté completamente cargado, es el atajo para:
$(document).ready(function(){ // Write code here }); $(function() { // bind some event listeners }()); Esta es la misma, pero la función dentro de $() es una función de autoinvocación. Por lo general, el objetivo es evitar conflictos de nombres de variables, porque está creando un nuevo ámbito.