2010-08-18 18 views
18

Ho visto che c'è uno answered question se esiste una differenza tra l'utilizzo di $(document).ready(function(){}) e $(function(){}) (non c'è), ma la mia domanda è qual è la sintassi preferita e perché.

Utilizzo jQuery da circa un anno e ho sempre utilizzato la sintassi $(document).ready(); ma ultimamente su SO e in altri posti, ho visto la sintassi $(function()) utilizzata sempre di più.

C'è una sintassi preferita che si utilizza e perché viene utilizzata? Usi la sintassi più breve solo per salvare alcuni caratteri?

Solo un po 'più di sfondo, sto attualmente iniziando una nuova app da zero e voglio mettere in atto alcune buone pratiche e standard generalmente accettati.

Grazie in anticipo!

risposta

23

Io uso $(document).ready(function(){}); nonostante la digitazione aggiuntiva. Preferisco semplicemente che nel mio codice mi ricordi esattamente quando il codice verrà eseguito, e per la possibilità di cercare "pronto" per trovare quelle sezioni. È la stessa funzionalità e normalmente prendo le scorciatoie, ma in questo caso non lo faccio.

+2

la leggibilità è una buona ragione per fare qualcosa in qualche modo, a parità di altre cose – hvgotcodes

+0

Ecco perché ho usato document.ready per così tanto tempo, perché so cosa sta succedendo. Grazie! –

10

È possibile utilizzare entrambi, $(function() {}) è just a shortcut che fa esattamente la stessa cosa.

Personalmente, preferisco $(function() { }) perché ... beh, lo digito un lotto, ed è molto più veloce.

Vedo un sacco di domande sul perché $(document).load() non funziona e tali perché non si sta usando l'evento ... Penso anche $(func) richiede un po 'di ambiguità fuori, mi. Scegli quello che preferisci, cosa è più chiaro per te e il tuo team è la scelta migliore qui.

+0

grazie. Apprezzo la prospettiva. –

1

Trovo che $(function() {}); sia più semplice e consente di salvare alcuni caratteri. Come hai detto tu, non importa. Penso che le cose più importanti di cui preoccuparsi siano i tuoi schemi di progettazione per il tuo javascript. Possono influenzare le prestazioni, la leggibilità e la semplicità.

+4

Ho visto "preoccuparsi dei tuoi schemi di progettazione" rovinare un bel po 'di codice ... –

2

Credo che gli autori di jQuery consigliano di utilizzare $(document).ready(function(){...}); poiché rende il codice più trasparente.

+0

Quando dici "più trasparente", intendi che è più chiaro su cosa stai agendo (l'elemento del documento in questo caso)? Grazie!! –

+1

Esattamente. Una delle grandi cose della sintassi di jQuery è la sua chiarezza. Usando '$ (document) .ready (function() {...}' questa chiarezza viene mantenuta dall'inizio.Vengo capito che l'uso di '$ (function() {})' richiede un minor numero di tasti, ma con tutto il scorciatoie personalizzabili fornite da programmi come Coda, Espresso e TextMate, non vedo che queste battute iniziali debbano mai essere digitate affatto. – Squirkle

Problemi correlati