JavaScript menentukan pernyataan if/else
if (條件 1) { 當(dāng)條件 1 為 true 時執(zhí)行的代碼; } else if (條件 2) { 當(dāng)條件 2 為 true 時執(zhí)行的代碼; } else { 當(dāng)條件 1 和 條件 2 都不為 true 時執(zhí)行的代碼; }
JavaScript menggunakan jika () { ... } else { ... } untuk penghakiman bersyarat. Contohnya, untuk memaparkan kandungan berbeza berdasarkan umur, anda boleh menggunakan pernyataan if untuk melaksanakan perkara berikut:
var age = 20; if (age >= 18) { // 如果age >= 18為true,則執(zhí)行if語句塊 alert('adult'); } else { // 否則執(zhí)行else語句塊 alert('teenager'); }
Pernyataan else adalah pilihan. Jika blok pernyataan mengandungi hanya satu pernyataan, anda boleh meninggalkan {}:
var age = 20; if (age >= 18) alert('adult'); else alert('teenager');
Bahaya meninggalkan {} ialah jika anda kemudiannya ingin menambah beberapa pernyataan tetapi terlupa untuk menulis {}, anda akan menukar if .. Semantik .else..., sebagai contoh:
var age = 20; if (age >= 18) alert('adult'); else console.log('age < 18'); // 添加一行日志 alert('teenager'); // <- 這行語句已經(jīng)不在else的控制范圍了
Klausa lain kod di atas sebenarnya hanya bertanggungjawab untuk melaksanakan console.log('umur < 18');, amaran asal ('remaja') ; tidak lagi dalam skop kawalan jika...lain..., ia akan dilaksanakan setiap masa.
Sebaliknya, pernyataan dengan {} tidak akan salah:
rreeeInilah sebabnya kami mengesyorkan sentiasa menulis {}.
Penghakiman bersyarat berbilang baris
Jika anda ingin menilai syarat dengan lebih terperinci, anda boleh menggunakan gabungan berbilang jika...lain. ..:
var age = 20; if (age >= 18) { alert('adult'); } else { console.log('age < 18'); alert('teenager'); }
Gabungan gandaan if...else... di atas sebenarnya bersamaan dengan dua lapisan if...else...:
var age = 3; if (age >= 18) { alert('adult'); } else if (age >= 6) { alert('teenager'); } else { alert('kid'); }
Tetapi biasanya kita menulis lain jika bersama , untuk meningkatkan kebolehbacaan. Tiada masalah jika yang lain di sini meninggalkan {}, kerana ia hanya mengandungi pernyataan if. Ambil perhatian bahawa bahagian lain yang terakhir tidak boleh ditinggalkan {}.
Sila ambil perhatian bahawa ciri pelaksanaan pernyataan if...else... ialah memilih satu daripada dua dalam berbilang jika...else... kenyataan, jika syarat tertentu adalah benar, seterusnya Tiada lagi penghakiman.
Cuba terangkan mengapa kod berikut memaparkan remaja:
var age = 3; if (age >= 18) { alert('adult'); } else { if (age >= 6) { alert('teenager'); } else { alert('kid'); }
Memandangkan nilai umur ialah 20, ia sebenarnya memenuhi syarat umur >= 6 dan umur >= 18 pada masa yang sama masa, yang sangat penting untuk menerangkan susunan penghakiman bersyarat. Sila betulkan supaya ia boleh dipaparkan dewasa.
Bagaimana jika keputusan pernyataan penghakiman bersyarat jika tidak benar atau palsu? Contohnya:
'use strict'; var age = 20; if (age >= 6) { alert('teenager'); } else if (age >= 18) { alert('adult'); } else { alert('kid'); }
JavaScript menganggap null, undefined, 0, NaN dan rentetan kosong'' sebagai palsu dan semua nilai lain sebagai benar, jadi hasil pertimbangan bersyarat kod di atas adalah benar.