2009-02-27 18 views
7

así que sé lo que esto hace:

$(document).ready(function(){ 
    // Your code here... 
}); 

gente ahora que he visto hacer esto últimamente:

<script type="text/javascript">  
$(function(){ 
    // Your code here... 
}); 
</script> 

¿son estas dos formas de hacer lo mismo?

veo una función anónima que se declara dentro de un selector de jQuery aquí, pero en realidad nunca se invoca, sin embargo, por la forma en que se ejecuta la página parece que esto puede solo ejecuta en pagelo anuncio.

+0

últimamente? Esto ha estado disponible durante los últimos 5 años ... – blockhead

+0

Esa es una de las cosas que no me gustan de jquery ... en pos de la brevedad, sacrifica (re) descubribilidad en serio. IIRC, '$ (...)' puede hacer al menos tres cosas completamente diferentes, dependiendo del tipo de argumento, y ¿cómo se busca tal cosa? Puedes * si estás familiarizado con los documentos * - y ese es precisamente el punto. El lenguaje está diseñado para aquellos que se mantienen familiarizados con sus detalles. '' – LarsH

+0

P.S. En este caso, si recuerda que '$' es un alias para 'jQuery', puede buscarlo aquí: http://api.jquery.com/jQuery/ – LarsH

Respuesta

7

sí, están haciendo lo mismo. la función $() ajusta $(document).ready() cuando el parámetro de la llamada es un objeto de función única.

(editado para reflejar una pregunta en el comentario)

+0

Así que cada vez que use un selector jquery, un pequeño documento tranquilo el control listo está sucediendo en el fondo? – thirsty93

+3

No, jQuery comprueba el tipo de objeto que se le pasa y, si se trata de una función, está vinculado al evento listo del documento; si pasa una cadena, hará algo más (como seleccionar elementos DOM). –

5

Sí, lo están haciendo exactamente lo mismo.

$(function(){ 
    // Your code here... 
}); 

es un acceso directo para

$(document).ready(function(){ 
    // Your code here... 
}); 
Cuestiones relacionadas