⊗jsPmFVGb 218 of 505 menu

Globalne spremenljivke v funkcijah v JavaScript

V JavaScript (v drugih jezikih je pogosto drugače) so spremenljivke, definirane zunaj funkcije, vidne znotraj te funkcije. Take spremenljivke imenujemo globalne. Poglejmo na primeru:

let num = 1; // spremenljivka zunaj funkcije function func() { console.log(num); // spremenljivka num je vidna znotraj funkcije } func(); // izpiše 1

Pravzaprav mora biti spremenljivka definirana ne pred definicijo funkcije, ampak pred njenim klicem:

function func() { console.log(num); } let num = 1; // spremenljivka zunaj funkcije func(); // izpiše 1

Če spreminjamo vrednost spremenljivke in po tem vsakič kličemo funkcijo - console.log bo vsakič izpisal različne rezultate:

function func() { console.log(num); } let num; // deklariramo spremenljivko num = 1; // nastavimo vrednost 1 func(); // izpiše 1 num = 2; // nastavimo vrednost 2 func(); // izpiše 2

Če imamo več funkcij, bo globalna spremenljivka dostopna v vsaki od teh funkcij:

function func1() { console.log(num); } function func2() { console.log(num); } let num = 1; func1(); // izpiše 1 func2(); // izpiše 1

Če se v eni od funkcij spremenijo globalne spremenljivke, se bo ta spremenljivka spremenila v vseh funkcijah, ki uporabljajo to spremenljivko:

function func1() { console.log(num); num++; // spreminjamo globalno spremenljivko } function func2() { console.log(num); } let num = 1; func1(); // izpiše 1 func2(); // izpiše 2

Ker lahko katera koli funkcija zlahka spremeni globalno spremenljivko, je njihova uporaba razmnoževalnik težko ujetih napak. Zaradi tega je uporabo globalnih spremenljivk v skripti treba zmanjšati na minimum. Zaželeno je, da jih sploh ni ali da jih je najmanjše možno število.

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

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

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

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

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

function func() { console.log(num); } let num; num = 1; func(); num = 2; func();
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