2013-10-20 70 views
1

我在一個位置來比較字符串與我的應用程序中的整數。所以我可以選擇將字符串類型的變量轉換爲整數,反之亦然,然後進行比較。在這種情況下,我想知道哪個過程更快,將字符串轉換爲整數或整數字符串還是可以使用「==」並進行比較。是字符串到整數轉換快或反之亦然

+0

我認爲字符串到整數轉換是好的...那麼你可以使用'=='操作符... – HackerGK

回答

2

I think整數到字符串轉換速度更快,因爲每個整數都可以轉換爲字符串,但反向轉換並非總是可行,即並非每個字符串都代表一個數字。

==執行其操作數的自動轉換,然後執行比較,因此您可以將它用於任何類型的兩個操作數。

在字符串和數字的情況下,==首先嚐試將字符串轉換爲一個數字,然後執行比較,也許我假設這一點,它會嘗試將字符串轉換爲數字,因爲如果失敗就不需要了完全可以進行比較。

編輯:我已經運行使用parseInt()字符串到整數的轉換,並使用toString()整數串轉換幾個測試。

每個測試運行1000000倍,到整數轉換字符串把在平均約3秒,整數到字符串轉換了大約2.5秒平均。

1000000這不是一個巨大的差異,所以除非你有大量的轉換要做,否則沒有什麼區別。

+0

很好的解釋。現在我將使用Integer來進行字符串轉換,除非有人提出了不同的建議。感謝您分享這些指標。 –

+0

@ Ajax3.14謝謝,不客氣。如果你覺得他的答案是你的問題,請儘可能接受。再次感謝你 :) –

0

JavaScript不是嚴格類型的語言。任何var可以是stringintdoublebool

應該不會出現了兩個vars比較任何速度差。

您可以在其開發人員工具中的瀏覽器中打開統計信息,以查看加載對象(如腳本)的速度,並在速度存在差異時自行測試。

在Chrome中,它是Network選項卡。

+0

我在這裏看到的不是一次性轉換我正在檢查一個巨大的集合的值。所以我想知道在時間和空間上是否有微妙的差別。我也很好奇知道任何實用功能行underscore.js或可以以高效的方式進行比較的東西 –

相關問題