0
我剛剛學會了Javascript的Switch語句,並認爲它的工作方式與Ruby的Case語句相同。然而它略有不同,我不明白爲什麼Switch語句將繼續打印出其餘的行。請參考下面的比較例如:Ruby的Case語句與Javascript的Switch語句
option = 2
case option
when 1
print "You selected option 1."
when 2
print "You selected option 2."
when 3
print "You selected option 3."
when 4
print "You selected option 4."
end
以上的Ruby case語句將只打印出來:You selected option 2.
然而,當它翻譯成JavaScript的switch語句:
var option = 2
switch (option) {
case 1:
console.log("You selected option 1.");
case 2:
console.log("You selected option 2.");
case 3:
console.log("You selected option 3.");
case 4:
console.log("You selected option 4.");
}
以上switch語句將打印
You selected option 2.
You selected option 3.
You selected option 4.
我會有t o在Switch語句中的每個案例之後放置一個break
以使其工作。
有人可以請解釋爲什麼,有沒有一種更簡單的方法或方法在Javascript中做到這一點?
您將不得不在每種情況下添加一個「break」。這就是語言的設計。隨着Java,C,PHP和幾乎所有的陽光下的語言。 –
@JoeFrambach:「幾乎所有的陽光下的語言。」雖然評論的其餘部分完全是指向性的,但這顯然是錯誤的。它只是語言的家族,其語法深受C的啓發。例如,Lisp,Elixir,Pascal,Modula 2,Perl,Fortran和許多其他人採用了Ruby所做的相同方法。 – Amadan