JavaScript 中基於表達式的Switch Case
在JavaScript 中,switch-case 語句提供了一種便捷的方法來根據特定的情況處理多種情況價值。然而,傳統的 switch-case 語句需要比較字串或整數值。在某些情況下,可能需要使用在比較過程中求值的表達式。
遇到的問題
遇到挑戰的使用者描述了一個這樣的場景嘗試在switch-case 語句中使用表達式時:
<code class="javascript">switch (amount) { case (amount >= 7500 && amount < 10000): // Code break; // Other cases default: // Default code }
但是,此程式碼導致了意外行為,從而引發了是否可以在switch-case 語句中使用表達式的問題。
解決問題
問題是由於 amount 變數是數字,而 case 子句中的表達式計算為布林值(即 true 或 false) )。因此,值永遠不會匹配,導致 case 子句中的程式碼永遠不會執行。
要解決此問題,一種方法是將表達式包含在 true 語句中:
<code class="javascript">switch (true) { case (amount >= 7500 && amount < 10000): // Code break; // Other cases default: // Default code }</code>
這是有效的,因為正在比較的值現在是布林值 true。因此,將執行第一個 case 子句中表達式為 true 的程式碼。
注意事項
雖然此技術允許在 switch- 中使用表達式, case 語句,應謹慎使用。對於某些場景,if-else 語句可能更簡潔、更容易閱讀。最終,選擇 switch-case 語句還是 if-else 語句取決於程式碼的特定要求。
以上是可以在 JavaScript Switch-Case 語句中使用表達式嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!