2012-11-14 15 views
5

Se il mio script esegue una funzione che restituisce ad es. un oggetto enorme che non voglio usare o memorizzare, è meglio/più veloce/meno dispendioso della memoria per chiamare quella funzione con l'operatore void? O diminuirà le prestazioni perché il valore di ritorno verrà semplicemente sovrascritto?JavaScript void performance

void myFunc(); 

appena creato un test:

http://jsperf.com/voidperf

+3

Let GC fare il suo lavoro – zerkms

+0

Quindi già sperimentato da soli, eh? –

+0

Ho ottenuto un 1.16% più lento utilizzando il vuoto sul test. Seguito da .80%. Penso che non ci sia davvero alcun effetto sull'uso del vuoto in quello scenario. –

risposta

2

L'operatore void viene utilizzato solo per ottenere il valore primitivo undefined; può essere utile quando si esegue il codice nella modalità in linea javascript:, perché la pagina non verrà sostituita dal valore restituito (convertito in stringa) se è undefined.

Pertanto, non c'è alcuna differenza apprezzabile tra i due costrutti:

getSuperBigResult(); 
void getSuperBigResult(); 

JavaScript verrà eseguito sia in modo void'ish, perché la prima affermazione non utilizza il valore di ritorno sia.

Consulta anche: void