⊗jsPmFVNC 220 of 505 menu

Ista imena promenljivih u funkcijama u JavaScriptu

Neka i izvan funkcije, i unutar nje postoji promenljiva num. U ovom slučaju bilo koja promena lokalne promenljive num ni na koji način ne utiče na globalnu promenljivu num:

let num = 1; // globalna promenljiva function func() { let num = 2; // lokalna promenljiva console.log(num); } func(); // pozivamo funkciju, ispisaće 2 console.log(num); // ispisaće 1 - globalna promenljiva se nije promenila

Ali, ako zaboravimo da deklarišemo lokalnu promenljivu num preko let, onda unutar funkcije neće biti kreirana lokalna promenljiva num, već će se jednostavno promeniti globalna promenljiva:

let num = 1; function func() { num = 2; // zaboravili smo da napišemo let - menjamo spoljnu promenljivu console.log(num); } func(); // pozivamo funkciju, ispisaće 2 console.log(num); // ispisaće 2 - promenljiva se promenila

Ovde mogu postojati dve situacije: ili smo zaista želeli da promenimo globalnu promenljivu (onda je sve u redu), ili smo zaboravili let i slučajno promenili globalnu promenljivu.

Drugi slučaj predstavlja teško uočljivu grešku, koja vodi ka nepredvidivom ponašanju skripte. Zato uvek, kada uvodite novu promenljivu deklarišite je preko let.

Odredite, bez pokretanja koda, šta će biti ispisano u konzolu:

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

Odredite, bez pokretanja koda, šta će biti ispisano u konzolu:

let num = 1; function func() { let num = 2; } func(); console.log(num);
Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij