puc*_*chu 19 javascript coffeescript
是否有可能在没有中断的情况下使用coffeescript中的开关?
switch code switch (code) {
when 37 then case 37: break;
when 38 then -> case 38: break;
when 39 then case 39: break;
when 40 case 40:
... ...
Run Code Online (Sandbox Code Playgroud)
我认为这会起作用但失败了:
switch code
when 37 then continue
when 38 then continue -> not valid
when 39 then continue
when 40
...
Run Code Online (Sandbox Code Playgroud)
Lin*_*iel 48
并不是的.来自文档:
JavaScript中的switch语句有点尴尬.您需要记住在每个case语句的末尾打破,以避免意外地进入默认情况.CoffeeScript可防止意外掉落,并可将开关转换为可返回的可分配表达式.格式为:switch condition,when子句,否则为默认情况.
但是,case如果要平等对待,则可以在a中指定多个值:
switch day
when "Mon" then go work
when "Tue" then go relax
when "Thu" then go iceFishing
when "Fri", "Sat"
if day is bingoDay
go bingo
go dancing
when "Sun" then go church
else go work
Run Code Online (Sandbox Code Playgroud)
Ron*_*nez 12
您可以使用行继续来帮助解决此问题.例如:
name = 'Jill'
switch name
when 'Jill', \
'Joan', \
'Jess', \
'Jean'
$('#display').text 'Hi!'
else
$('#display').text 'Bye!'
Run Code Online (Sandbox Code Playgroud)