⊗jsPmCdScpN 135 of 505 menu

Nuanses van die omvang van veranderlikes in if-else-konstruksies in JavaScript

Die omvang van veranderlikes het 'n sekere nuans. Kom ons kyk na dit aan die hand van 'n voorbeeld. Kom ons verklaar buite ons voorwaarde 'n veranderlike res met een waarde, en binne die voorwaarde verander ons hierdie waarde na 'n ander:

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

Soos jy kan sien, het die veranderlike res verander binne die voorwaarde. Alles sal eger verander, as binne die voorwaarde die veranderlike res ook deur let verklaar word:

let res = 1; if (true) { let res = 2; // verklaar die veranderlike deur let } console.log(res); // sal 1 uitvoer, en nie 2 nie!

Hier is dit alles omdat die verklaring van die veranderlike deur let binne die voorwaarde 'n plaaslike veranderlike res geskep het.

Dit wil sê binne die voorwaarde bestaan een veranderlike res, en buite die voorwaarde - 'n ander. Jy kan daarvan oortuig raak deur die waarde van die veranderlike in die konsole binne die voorwaarde uit te voer:

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

Die outeur van die onderstaande kode wou 'n ouderdomstoets vir die bereiking van 18 jaar uitvoer. Die kode vertoon eger vir enige waarde van ouderdom die waarde undefined in die konsole. Korrigeer die outeur se fout. Hier is die problematiese kode:

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

Die outeur van die onderstaande kode wou 'n ouderdomstoets vir die bereiking van 18 jaar uitvoer. Na die toets van die kode het geblyk dat as die ouderdom gelyk aan of groter as 18 jaar is, dan word in die veranderlike adult true weggeskryf, soos dit behoort te wees, maar as die ouderdom minder is as 18, dan het die veranderlike adult die waarde undefined. Korrigeer die outeur se fout.

Hier is die problematiese kode:

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

Die outeur van die onderstaande kode wou 'n ouderdomstoets uitvoer. Die kode vertoon eger vir enige waarde van ouderdom die waarde undefined in die konsole. Korrigeer die outeur se fout.

Hier is die problematiese kode:

let age = 17; let res; if (age >= 18) { if (age <= 23) { let res = 'van 18 tot 23'; } else { let res = 'meer as 23'; } } else { let res = 'minder as 18'; } console.log(res);

Die outeur van die onderstaande kode wou 'n ouderdomstoets uitvoer. Die kode vertoon eger vir 'n ouderdom meer as 18 jaar die waarde undefined in die konsole. Korrigeer die outeur se fout.

Hier is die problematiese kode:

let age = 19; let res; if (age >= 18) { let res; if (age <= 23) { res = 'van 18 tot 23'; } else { res = 'meer as 23'; } } else { res = 'minder as 18'; } console.log(res);
Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp