/ / Perché riutilizzare `undefined`? [duplicato] - javascript, jquery

Perché riutilizzare `undefined`? [duplicato] - javascript, jquery

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?

Diapositiva 31

risposte:

10 per risposta № 1

Perché 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})();