2011-01-10 23 views
20

Andare in giro il codice sorgente Modernizr ho trovato cosa strana:funzione JavaScript con il parametro 'undefined'

window.Modernizr = (function(window,document,undefined) { 

Dopo che questa funzione sarà chiamata con due argomenti (this, this.document).

Perché undefined viene utilizzato qui? È significativo o è solo uno strano stile di codice?

+0

So che questa costruzione è prioritaria indefinita nel contesto delle funzioni, ma non riesco a capire per cosa. –

risposta

23

Crea un locale undefined nel caso in cui qualcuno ridefinisce undefined da qualche parte nella catena dell'ambito.

Fornisce anche una ricerca più rapida poiché undefined è una proprietà globale, pertanto l'attraversamento della catena di ambito è ridotto.

+1

Wow, grazie per la risposta veloce. Non ci penso. –

+7

Sì, credo che Paul Irish si riferisca a questo come all'effetto stronzo nelle 10 cose che ho appreso sui video di JQuery. – Loktar

Problemi correlati