簡體   English   中英

+ =,++,+之間的性能差異

[英]Performance difference between +=, ++, +

我創建了這個測試http://jsperf.com/loop-counter為什么這三個表達式之間存在這樣的差異。

因為你的測試是錯誤的。 你重復使用相同的變量,所以它越大,增量就越慢。 看看這個: http//jsperf.com/loop-counter/6

這就是jsperf的工作原理 - 在所有測試之前,准備代碼只運行一次。

我嘗試多次運行所有三個測試,每次重新加載頁面時,我嘗試的第一個測試是迄今為止最快的。

所以我猜測測試有一些問題太短,即運行測試的代碼占用了大部分時間。

如果這不是一個修辭問題而你實際上想要一個aswer:那么人們如何在瀏覽器中編寫JS引擎。

這是因為該計划在幕后所做的事情:

l_count + = 1; 這會將數字1添加到變量中。

l_count = l_count + 1; 這將調用變量l_count,讀取它,將結果加1,然后將其傳遞回l_count。

L_COUNT ++; 在運行該行后,它會向變量添加1。 因此,當行完成時,該值存儲在另一個臨時變量中,然后返回該值,添加1並保存回原始值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM