⊗jsPmFVGb 218 of 505 menu

Globaalsed muutujad funktsioonides JavaScriptis

JavaScriptis (enamikus teistes keeltes enamasti mitte nii) on funktsioonist väljaspool määratletud muutujad nähtavad selle funktsiooni sees. Selliseid muutujaid nimetatakse globaalseteks. Vaatame näidet:

let num = 1; // muutuja funktsioonist väljaspool function func() { console.log(num); // muutuja num on nähtav funktsiooni sees } func(); // väljastab 1

Tegelikult peab muutuja olema defineeritud mitte enne funktsiooni defineerimist, vaid enne selle kutsumist:

function func() { console.log(num); } let num = 1; // muutuja funktsioonist väljaspool func(); // väljastab 1

Kui muuta muutuja väärtust ja pärast seda iga kord funktsiooni välja kutsuda - console.log väljastab iga kord erineva tulemuse:

function func() { console.log(num); } let num; // deklareerime muutuja num = 1; // määrame väärtuseks 1 func(); // väljastab 1 num = 2; // määrame väärtuseks 2 func(); // väljastab 2

Kui meil on mitu funktsiooni, siis globaalne muutuja on ligipääsetev igas neist funktsioonidest:

function func1() { console.log(num); } function func2() { console.log(num); } let num = 1; func1(); // väljastab 1 func2(); // väljastab 1

Kui ühes funktsioonidest muudetakse globaalset muutujat, siis see muutuja muutub kõigis funktsioonides, mis kasutavad seda muutujat:

function func1() { console.log(num); num++; // muudame globaalset muutujat } function func2() { console.log(num); } let num = 1; func1(); // väljastab 1 func2(); // väljastab 2

Kuna ükskõik milline funktsioonidest võib hõlpsasti muuta globaalset muutujat, siis nende kasutamine esindab endas raskesti tabavaid vigu. Sel põhjusel tuleks globaalsete muutujate kasutamist skriptis minimeerida. Soovitav on, et neid üldse ei oleks või oleks kõige minimaalsem kogus.

Määrake, ilma koodi käivitamata, mis väljastatakse konsooli:

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

Määrake, ilma koodi käivitamata, mis väljastatakse konsooli:

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

Määrake, ilma koodi käivitamata, mis väljastatakse konsooli:

function func() { console.log(num); } let num; num = 1; func(); num = 2; func();
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu