2012-11-14 8 views
5

Wenn mein Skript eine Funktion ausführt, die z. ein riesiges Objekt, das ich nicht verwenden oder speichern möchte, ist es besser/schneller/weniger speicherintensiv, diese Funktion mit dem void-Operator aufzurufen? Oder wird es die Leistung verringern, weil der Rückgabewert nur überschrieben wird?JavaScript void Leistung

void myFunc(); 

erstellt gerade einen Test:

http://jsperf.com/voidperf

+3

Let GC seine Arbeit tun – zerkms

+0

So bereits Sie diese Texte selbst getestet, he? –

+0

Ich habe 1,16% langsamer mit void auf Ihrem Test. Gefolgt von .80%. Ich denke, dass es keinen Effekt hat, in diesem Szenario void zu verwenden. –

Antwort

2

Der void Operator nur verwendet, um den undefined Grundwert zu erhalten; Es kann nützlich sein, wenn Sie Code in javascript: Inline-Modus ausführen, da die Seite nicht durch den Rückgabewert (Casted to String) ersetzt wird, wenn es undefined ist.

Daher gibt es keinen nennenswerten Unterschied zwischen diesen beiden Konstrukten:

getSuperBigResult(); 
void getSuperBigResult(); 

JavaScript wird sowohl in einer void'ish Weise ausgeführt werden, da die frühere Aussage nicht den Rückgabewert entweder nicht verwendet.

Siehe auch: void

Verwandte Themen