In Slideshow di John Resig su come stava costruendo jQuery 1.4, ha citato un punto in cui ha aggiunto un undefined
variabile alla chiusura di jQuery perché "possiamo riutilizzare (la variabile)".
undefined
non è una variabile ordinaria:
> var undefined = 4
undefined
> undefined
undefined
Pertanto, sappiamo che non definito non è una variabile. Quindi perché dovrebbe undefined
essere ri-indefinito nella sorgente jQuery?
risposte:
10 per risposta № 1Perché in alcuni motori JavaScript è possibile impostare undefined
ad un valore. Questo è per assicurarsi undefined
è veramente undefined
.
5 per risposta № 2
Oltre alla risposta di + Rocket Hazmat, è possibile ridurre le dimensioni del file dopo la compressione un po ', quando il codice viene utilizzato undefined
frequentemente. Questo perché è una variabile locale undefined
potrebbe avere il suo nome straziato dal compressore, mentre il globale undefined
non può:
foo === undefined;
// ^----- don"t touch this, put "undefined" in the compressed result
(function (undefined) {
foo === undefined;
})();
// may however be mangled to
(function(u){foo===u})();