switch 语句中 case后面的值必须为
- 心理
- 关注:2.72W次
在大部分动态语言中,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写可读性会好一些。
如果需要性能的话可以自己手动实现一个跳转表,现有的动态语言一般都支持一等函数和属性列表,跳转表的实现也并不是特别难。所以其实也就是一个取舍的问题。
- 文章版权属于文章作者所有,转载请注明 https://rmnxw.com/lvse/xinli/qk3mmx.html