2011-01-10 3 views
20

Circuler code source Modernizr J'ai trouvé chose étrange:fonction JavaScript avec le paramètre 'undefined'

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

Après que cette fonction sera appelée avec deux arguments (this, this.document).

Pourquoi undefined est utilisé ici? Est-ce significatif ou c'est juste un code étrange?

+0

Je sais que cette construction est prioritaire non définie dans le contexte de la fonction, mais je ne comprends pas pour quoi. –

Répondre

23

Crée un undefined local au cas où quelqu'un redéfinirait undefined quelque part dans la chaîne de portée.

Permet également une recherche plus rapide car undefined est une propriété globale, ce qui réduit la traversée de la chaîne de portée.

+1

Wow, merci pour une réponse rapide. Je ne pense pas à ça. –

+7

Oui, je crois que Paul Irish se réfère à cela comme l'effet trou du cul dans les 10 choses que j'ai apprises sur la vidéo JQuery. – Loktar

Questions connexes