2010-08-18 9 views
18

Vi que hay un answered question sobre si hay una diferencia entre usar $(document).ready(function(){}) y $(function(){}) (no lo hay), pero mi pregunta es cuál es la sintaxis preferida y por qué.

He estado usando jQuery por alrededor de un año y siempre he utilizado la sintaxis $(document).ready(); pero últimamente en SO y en algunos otros lugares, he visto la sintaxis $(function()) utilizada cada vez más.

¿Existe una sintaxis preferido que se utiliza y por qué se utiliza? ¿Utiliza la sintaxis más corta únicamente para guardar unos pocos caracteres?

Sólo un poco más de fondo, Actualmente estoy empezando una nueva aplicación desde cero y quiere poner un poco de las mejores prácticas y las normas generalmente aceptadas en su lugar.

¡Gracias de antemano!

Respuesta

23

utilizo $(document).ready(function(){}); a pesar de la tipificación adicional. Prefiero tener eso en mi código para recordarme exactamente cuándo se ejecutará el código, y para la capacidad de buscar 'listo' para encontrar esas secciones. Es la misma funcionalidad, y normalmente tomo atajos, pero en este caso no lo hago.

+2

la legibilidad es una buena razón para hacer algo de alguna manera, todo lo demás es igual – hvgotcodes

+0

Es por eso que he usado document.ready para tanto tiempo, porque sé lo que está pasando. ¡Gracias! –

10

Puede utilizar cualquiera, es $(function() {})just a shortcut que hace exactamente la misma cosa.

Personalmente, prefiero $(function() { }) porque ... bueno, lo escribo lote, y es mucho más rápido.

veo un montón de preguntas de por qué $(document).load() no funciona y tal porque no está utilizando el evento correcto ... también pienso $(func) lleva a cabo cierta ambigüedad, me. Haga lo que prefiera, lo que es más claro para usted y su equipo es la mejor opción aquí.

+0

gracias. Aprecio la perspectiva. –

1

encuentro que $(function() {}); es sólo simple y ahorra unos pocos caracteres. Como dijiste, no importa. Creo que las cosas más importantes de las que preocuparse son sus patrones de diseño para su javascript. Pueden afectar el rendimiento, la legibilidad y la simplicidad.

+4

He visto "preocuparse por sus patrones de diseño" estropear un montón de código ... –

2

Creo que los autores de jQuery recomiendan el uso de $(document).ready(function(){...}); ya que hace que el código sea más transparente.

+0

Cuando dice 'más transparente', ¿quiere decir que está más claro sobre qué está actuando (el elemento de documento en este caso)? ¡¡Gracias!! –

+1

Exactamente. Una de las mejores cosas sobre la sintaxis de jQuery es su claridad. Al usar '$ (document) .ready (function() {...}' esta claridad se mantiene desde el principio. Entiendo que usar '$ (function() {})' requiere menos teclas, pero con todas las Los accesos directos personalizables proporcionados por programas como Coda, Espresso y TextMate, no veo que estas pulsaciones de teclas de inicio alguna vez tengan que escribirse. – Squirkle

Cuestiones relacionadas