[英]Performance difference between function initialization locations [JavaScript]
[英]Is there a performance difference in JavaScript between “>” and “!=”?
對導航中的上一個鏈接進行綁定。 如果我們位於第一個位置,請不要對上一個鏈接執行相同的操作。 我正在做一個“!=”不等於測試,但意識到它可能大於“>。
然后我想,是更快嗎?
if (numberToCheck != 0) {
//doSomething();
}
與
if (numberToCheck > 0) {
//doSomething();
}
績效問題應通過評估而非猜測來解決。
您可以在http://jsperf.com/inequality-vs-greater-than上親自查看。 此測試的結果(在我的計算機上)因瀏覽器而異。 有些不平等會更快。 有些比少更快。 您可能會在代碼的其他區域發現更大的速度差異。
如果您想測試與我在測試中稍有不同的東西,只需添加自己的測試以進行比較即可。
您是說……絕對不同,還是“意義不同”?
無論如何,這將100%取決於基礎VM的實現。 但是,設置一個標志並使該標志成為&&
的第一個(用於短路)可能更快一些 ,而將數字部分作為第二個。
if (keepChecking && numberToCheck != 0) {
keepChecking == false;
// doSomething();
}
同樣,依賴於VM,我無法相信這兩種方式都非常重要。
關於什么 -
if (numberToCheck !== 0) {
//doSomething();
}
實際上,我懷疑人類會注意到這種差異。 另外,每個瀏覽器js引擎可能會產生不同的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.