switch 語句中 case後面的值必須爲

switch 語句中 case後面的值必須爲

在大部分動態語言中,case後面是可以接變量甚至是表達式的。比如說你可以這麼做:

var a = 0, b = 1, c = 3 switch(true) { case a < b: alert("a比b小") break case a < c: alert("a比c小") break } 基本上這種類型都可以用if else來寫,但是用switch寫可讀性會好一些。

如果需要性能的話可以自己手動實現一個跳轉表,現有的動態語言一般都支援一等函數和屬性列表,跳轉表的實現也並不是特別難。所以其實也就是一個取捨的問題。