⊗jsPmCdScp 134 of 505 menu

Skop Pembolehubah dalam if-else di JavaScript

Untuk memudahkan, mari kita andaikan terdapat satu kondisi yang sentiasa benar:

if (true) { }

Mari kita lihat kod berikut:

if (true) { let res = '!'; } console.log(res);

Seperti yang anda lihat, nilai '!' sepatutnya disimpan ke dalam pembolehubah res. Walau bagaimanapun, jika kod ini dijalankan, ralat akan dipaparkan dalam konsol!

Masalahnya ialah pembolehubah yang diisytiharkan di dalam kurungan kerinting hanya kelihatan di dalam kurungan tersebut, dan tidak kelihatan di luarnya. Dalam istilah saintifik, ini merujuk kepada skop pembolehubah.

Boleh dikatakan bahawa skop pembolehubah yang diisytiharkan di dalam kurungan kerinting hanyalah kurungan kerinting tersebut. Walau bagaimanapun, jika pembolehubah diisytiharkan di luar kurungan kerinting, ia boleh dilihat baik di dalam mahupun di luarnya:

let res; // pembolehubah diisytiharkan di luar if (true) { res = '!'; } console.log(res); // akan memaparkan '!'

Dalam contoh berikut, nilai sama ada 1 ataupun 2 disimpan ke dalam pembolehubah res bergantung pada kondisi:

let num = 5; if (num >= 0) { let res = 1; } else { let res = 2; } console.log(res);

Walau bagaimanapun, jika kod ini dijalankan, ralat akan dipaparkan dalam konsol. Seperti yang kini anda faham, segalanya berkaitan dengan keterlihatan pembolehubah. Untuk menyelesaikan masalah ini, mari isytihar pembolehubah di luar kondisi:

let test = true; let res; // isytihar pembolehubah di luar kondisi if (test) { res = 1; } else { res = 2; } console.log(res); // akan memaparkan 1

Pengarang kod di bawah ingin melaksanakan penyemakan umur untuk mencapai 18 tahun. Walau bagaimanapun, kod tersebut tidak berfungsi. Betulkan ralat pengarang kod. Ini adalah kod bermasalah:

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
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