⊗jsPmFVNC 220 of 505 menu

Enaka imena spremenljivk v funkcijah v JavaScript

Naj bo tako zunaj funkcije kot znotraj spremenljivka num. V tem primeru kakršne koli spremembe z lokalno spremenljivko num ne vplivajo na globalno spremenljivko num:

let num = 1; // globalna spremenljivka function func() { let num = 2; // lokalna spremenljivka console.log(num); } func(); // kličemo funkcijo, izpiše 2 console.log(num); // izpiše 1 - globalna spremenljivka se ni spremenila

Toda, če pozabimo deklarirati lokalno spremenljivko num z let, potem se znotraj funkcije ne bo ustvarila lokalna spremenljivka num, ampak se bo preprosto spremenila globalna spremenljivka:

let num = 1; function func() { num = 2; // pozabili napisati let - spreminjamo zunanjo spremenljivko console.log(num); } func(); // kličemo funkcijo, izpiše 2 console.log(num); // izpiše 2 - spremenljivka se je spremenila

Tu sta možni dve situaciji: ali smo resnično želeli spremeniti globalno spremenljivko (potem je vse v redu), ali smo pozabili let in po naključju spremenili globalno spremenljivko.

Druga situacija je težko zaznavna napaka, ki vodi do nepredvidljivega obnašanja skripte. Zato vedno, ko vnašate novo spremenljivko, jo deklarirajte z let.

Določite, ne da bi zagnali kodo, kaj se bo izpisalo v konzolo:

let num = 1; function func() { num = 2; } func(); console.log(num);

Določite, ne da bi zagnali kodo, kaj se bo izpisalo v konzolo:

let num = 1; function func() { let num = 2; } func(); console.log(num);
Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni