2012-11-14 10 views
5

Komut dizim, örn. Kullanmak ya da saklamak istemediğim devasa bir nesne, bu işlevin geçersiz operatörle çağrılması için daha iyi/daha hızlı/daha az hafıza gerektiriyor mu? Ya da performansı düşürecek çünkü dönüş değeri üzerine yazılacak mı?JavaScript geçersiz performans

void myFunc(); 

Sadece bir test oluşturuldu:

http://jsperf.com/voidperf

+3

Let GC – zerkms

+0

Yani zaten hey, bu kendini test kendi çalışır? –

+0

Testinizde void kullanarak% 1.16 daha yavaş aldım. % 80 oranında takip edildi. Bu senaryoda gerçekten void kullanmanın hiçbir etkisi olmadığını düşünüyorum. –

cevap

2

void operatörü sadece undefined temel değerini elde etmek için kullanılır; undefined ise, sayfa javascript: satır içi modda çalıştırdığınızda yararlı olabilir, çünkü sayfa undefined ise dönüş değeriyle (dizeye dökülmüş) değiştirilmez.

Bu nedenle, bu iki yapı arasındaki kayda değer bir fark var:

getSuperBigResult(); 
void getSuperBigResult(); 

eski deyimi ya dönüş değeri kullanmadığı için JavaScript bir void'ish şekilde hem çalışacaktır.

Ayrıca bakınız: void

İlgili konular