傢伙,我有幾個問題:的Javascript開關主場迎戰如果...否則,如果...否則
- 是否有
switch
語句和if...else
之間在JavaScript的性能差異? - 如果是這樣,爲什麼?
- 是
switch
行爲和跨瀏覽器if...else
不同? (FireFox,IE,Chrome,Opera,Safari)
問這個問題的原因似乎是,我在Firefox的約1000個案例中的switch
聲明中獲得了更好的性能。
編輯 Unfortuantly這不是我的代碼JavaScript是正在生產服務器端從編譯的庫,我要的代碼的訪問權限。正在生產的JavaScript的方法被稱爲
CreateConditionals(string name, string arrayofvalues, string arrayofActions)
注arrayofvalues
是一個逗號分隔的列表。
它所產生的是
function [name] (value) {
if (value == [value from array index x]) {
[action from array index x]
}
}
注:其中[name]
=傳遞到服務器端功能
現在我改變了函數的輸出要插入一個文本區的名字,寫了一些JavaScript代碼通過函數解析,並將其轉換爲一組case
語句。
最後我執行此功能,它運行良好,但性能在IE和Firefox不同。
我會建議一個代碼示例來檢查哪些是最佳的。我的意思是,你有這個問題的理由,對吧? – jcolebrand 2010-05-27 16:34:57
請發表您的評論,因爲在我長期的經歷中,我很少會遇到這樣的情況,我會說100個開關語句或100個部分的if/else系列是個好主意。 – Pointy 2010-05-27 16:40:54
對不起,你們不是100幾歲,而是成千上萬的條件 – 2010-05-27 17:04:42