Rumah >hujung hadapan web >tutorial js >Bolehkah Anda Menggunakan Ungkapan dalam Pernyataan Kes Tukar JavaScript?

Bolehkah Anda Menggunakan Ungkapan dalam Pernyataan Kes Tukar JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-11-02 21:46:301049semak imbas

Can You Use Expressions in JavaScript Switch Case Statements?

Penilaian Ungkapan dalam Pernyataan Kes Suis

Dalam JavaScript, pernyataan suis memudahkan pelaksanaan bersyarat berdasarkan kesamaan nilai kepada pemalar yang telah ditetapkan. Walau bagaimanapun, bagaimana jika anda ingin memanfaatkan ungkapan dinamik yang menilai semasa masa jalan?

Coretan kod menyediakan percubaan untuk menggunakan ungkapan dalam kes suis:

<code class="javascript">function reward(amount) {
    var $reward = $("#reward");
    switch (amount) {
        case (amount >= 7500 && amount < 10000):
            $reward.text("Play Station 3");
            break;
        case (amount >= 10000 && amount < 15000):
            $reward.text("XBOX 360");
            break;
        case (amount >= 15000):
            $reward.text("iMac");
            break;
        default:
            $reward.text("No reward");
            break;
    }
}</code>

Malangnya, pendekatan ini tidak berfungsi seperti yang dijangka. Sebabnya terletak pada sifat pernyataan suis. Setiap ungkapan kes mengembalikan nilai boolean, menunjukkan sama ada syarat itu benar atau palsu. Dalam kod yang diberikan, ungkapan menilai kepada benar atau salah, bukan kepada nilai pemalar yang diingini.

Untuk menangani isu ini, seseorang boleh menggunakan helah di mana pernyataan suis menilai kepada nilai boolean malar (benar dalam ini case) dan menggunakan ungkapan dalam pernyataan kes untuk mengawal aliran pelaksanaan:

<code class="javascript">switch (true) {
  case (amount >= 7500 && amount < 10000):
    // Code
    break;
  case (amount >= 10000 && amount < 15000):
    // Code
    break;
  // etc.
}</code>

Penyelesaian ini membolehkan penilaian ungkapan dalam kes suis, walaupun ia memperkenalkan beberapa kemungkinan kelemahan. Pertama, ia memerlukan penilaian berterusan kepada benar, yang mungkin tidak perlu atau tidak diingini dalam sesetengah senario. Kedua, kod menjadi kurang ringkas dan berkemungkinan lebih mengelirukan.

Pendekatan alternatif ialah menggunakan pernyataan if-else, yang menyediakan cara yang lebih mudah untuk menilai ungkapan dinamik dan melaksanakan blok kod yang sepadan. Pilihan antara menggunakan pernyataan suis penyelesaian atau pernyataan if-else bergantung pada keperluan khusus aplikasi.

Atas ialah kandungan terperinci Bolehkah Anda Menggunakan Ungkapan dalam Pernyataan Kes Tukar JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn