⊗jsPmCdScpN 135 of 505 menu

Mainīgo loku nianses if-else konstrukcijās JavaScript

Mainīgo loku ir sava nianse. Apskatīsim to ar piemēru. Izveidosim ārpus mūsu nosacījuma mainīgo res ar vienu vērtību, bet iekšā nosacījumā mainīsim šo vērtību uz citu:

let res = 1; if (true) { res = 2; } console.log(res); // izvadīs 2

Kā redzat, mainīgais res mainījās iekšā nosacījumā. Tomēr viss mainīsies, ja iekšā nosacījumā arī deklarēsiet mainīgo res ar let:

let res = 1; if (true) { let res = 2; // deklarēsim mainīgo ar let } console.log(res); // izvadīs 1, nevis 2!

Šeit visa būtība ir tajā, ka mainīgā deklarēšana ar let iekšā nosacījuma izveidoja lokālo mainīgo res.

Tas ir, iekšā nosacījuma pastāv viens mainīgais res, bet ārpus nosacījuma - cits. To var pārliecināties, izvadot mainīgā vērtību konsole iekšā nosacījuma:

let res = 1; if (true) { let res = 2; console.log(res); // izvadīs 2 } console.log(res); // izvadīs 1

Zemāk redzamā koda autors gribēja veikt vecuma pārbaudi uz sasniegšanu 18 gadiem. Tomēr kodā jebkurai vecuma vērtībai tiek izvadīta konsolē vērtība undefined. Izlabojiet koda autora kļūdu. Lūk, problemātiskais kods:

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

Zemāk redzamā koda autors gribēja veikt vecuma pārbaudi uz sasniegšanu 18 gadiem. Pēc koda pārbaudes izrādījās, ka, ja vecums ir vienāds vai lielāks par 18 gadiem, tad mainīgajā adult tiek ierakstīts true, kā tam vajadzētu būt, tomēr, ja vecums ir mazāks par 18, tad mainīgajam adult ir vērtība undefined. Izlabojiet koda autora kļūdu.

Lūk, problemātiskais kods:

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

Zemāk redzamā koda autors gribēja veikt vecuma pārbaudi. Tomēr kodā jebkurai vecuma vērtībai tiek izvadīta konsolē vērtība undefined. Izlabojiet koda autora kļūdu.

Lūk, problemātiskais kods:

let age = 17; let res; if (age >= 18) { if (age <= 23) { let res = 'no 18 līdz 23'; } else { let res = 'vairāk par 23'; } } else { let res = 'mazāk par 18'; } console.log(res);

Zemāk redzamā koda autors gribēja veikt vecuma pārbaudi. Tomēr kodā ar vecuma vērtību lielāku par 18 gadiem tiek izvadīta konsolē vērtība undefined. Izlabojiet koda autora kļūdu.

Lūk, problemātiskais kods:

let age = 19; let res; if (age >= 18) { let res; if (age <= 23) { res = 'no 18 līdz 23'; } else { res = 'vairāk par 23'; } } else { res = 'mazāk par 18'; } console.log(res);
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt