⊗jsPmCdScpN 135 of 505 menu

Nuansa Skop Pembolehubah dalam Konstruksi if-else di JavaScript

Skop pembolehubah mempunyai satu nuansa. Mari kita lihatnya melalui contoh. Mari isytihar di luar kondisi kita pembolehubah res dengan satu nilai, dan di dalam kondisi tukar nilai tersebut kepada nilai lain:

let res = 1; if (true) { res = 2; } console.log(res); // akan memaparkan 2

Seperti yang anda lihat, pembolehubah res bertukar di dalam kondisi. Walau bagaimanapun, semuanya akan berubah, jika di dalam kondisi juga kita isytihar pembolehubah res melalui let:

let res = 1; if (true) { let res = 2; // isytihar pembolehubah melalui let } console.log(res); // akan memaparkan 1, bukan 2!

Di sini semuanya disebabkan oleh fakta bahawa pengisytiharan pembolehubah melalui let di dalam kondisi mencipta pembolehubah tempatan res.

Iaitu, di dalam kondisi wujud satu pembolehubah res, dan di luar kondisi - satu lagi. Anda boleh memastikannya dengan memaparkan nilai pembolehubah di dalam konsol di dalam kondisi:

let res = 1; if (true) { let res = 2; console.log(res); // akan memaparkan 2 } console.log(res); // akan memaparkan 1

Pengarang kod di bawah ingin melaksanakan periksa umur untuk mencapai 18 tahun. Walau bagaimanapun, kod untuk sebarang nilai umur memaparkan dalam konsol nilai undefined. Betulkan ralat pengarang kod. Ini kod bermasalah:

let age = 17; let adult; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);

Pengarang kod di bawah ingin melaksanakan periksa umur untuk mencapai 18 tahun. Selepas memeriksa kod, ternyata jika umur sama dengan atau lebih daripada 18 tahun, maka ke dalam pembolehubah adult direkodkan true, seperti sepatutnya, walau bagaimanapun, jika umur kurang daripada 18, maka pembolehubah adult mempunyai nilai undefined. Betulkan ralat pengarang kod.

Ini kod bermasalah:

let age = 17; let adult; if (age >= 18) { adult = true; } else { let adult = false; } console.log(adult);

Pengarang kod di bawah ingin melaksanakan periksa umur. Walau bagaimanapun, kod untuk sebarang nilai umur memaparkan dalam konsol nilai undefined. Betulkan ralat pengarang kod.

Ini kod bermasalah:

let age = 17; let res; if (age >= 18) { if (age <= 23) { let res = 'dari 18 hingga 23'; } else { let res = 'lebih daripada 23'; } } else { let res = 'kurang daripada 18'; } console.log(res);

Pengarang kod di bawah ingin melaksanakan periksa umur. Walau bagaimanapun, kod untuk nilai umur lebih besar daripada 18 tahun memaparkan dalam konsol nilai undefined. Betulkan ralat pengarang kod.

Ini kod bermasalah:

let age = 19; let res; if (age >= 18) { let res; if (age <= 23) { res = 'dari 18 hingga 23'; } else { res = 'lebih daripada 23'; } } else { res = 'kurang daripada 18'; } console.log(res);
Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak