在一個項目中我的工作,我們在它的「枚舉」對象的腳本,因爲這樣的:JavaScript枚舉對象 - 字符串或數字更快?
var MyEnumeration = {
top: "top",
right: "right",
bottom: "bottom",
left: "left"
};
當我們不得不使用一些會使用這些文字值之一,我們只是請與MyEnumeration.left
或任何情況進行比較。
但是:在C#中至少,字符串值,通常評估慢於數字,因爲字符串必須做一個字符的字符比較,以確保該字符串相匹配的字符串B.
這使我我的問題:實施MyEnumeration
與數值更快執行?
var MyEnumeration = {
top: 0,
right: 1,
bottom: 2,
left: 3
};
在哪方面執行得更快?如果您將一個變量與您的某個枚舉值進行比較?如果是這樣,我認爲你回答了你自己的問題。儘管如此謹慎行事,這有點像過早的優化。 – thatidiotguy
我同意這可能是不成熟的優化,這是我只是好奇。就'在什麼方面'而言,我認爲更快或更慢可能只涉及執行時間,因爲JavaScript只是一種解釋語言......請糾正我,如果我錯了。 –
@AndrewGray:比較字符串時,JavaScript會從左到右依次比較每個字符。但是當比較兩個數字時,這只是一個單一的比較。顯然你可以猜測哪一個更快。 –