⊗jsPmFVGb 218 of 505 menu

Globalūs kintamieji funkcijose JavaScript

JavaScript (daugelyje kitų kalbų dažniausiai taip nėra) kintamieji, apibrėžti už funkcijos ribų, bus matūs šios funkcijos viduje. Tokie kintamieji vadinami globaliaisiais. Pažiūrėkime pavyzdžiu:

let num = 1; // kintamasis už funkcijos ribų function func() { console.log(num); // kintamasis num matomas funkcijos viduje } func(); // išves 1

Iš tikrųjų kintamasis turi būti apibrėžtas ne prieš funkcijos apibrėžimą, o prieš jos iškvietimą:

function func() { console.log(num); } let num = 1; // kintamasis už funkcijos ribų func(); // išves 1

Jei keičiate kintamojo reikšmę ir po to kaskart iškviečiate funkciją - console.log kaskart rodys skirtingus rezultatus:

function func() { console.log(num); } let num; // apibrėžiame kintamąjį num = 1; // nustatome reikšmę 1 func(); // išves 1 num = 2; // nustatome reikšmę 2 func(); // išves 2

Jei turime kelias funkcijas, tai globalusis kintamasis bus prieinamas kiekvienoje iš šių funkcijų:

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

Jei vienoje iš funkcijų bus atlikti pakeitimai su globaliuoju kintamuoju, tai šis kintamasis pakis visose funkcijose, naudojančiose šį kintamąjį:

function func1() { console.log(num); num++; // keičiame globalųjį kintamąjį } function func2() { console.log(num); } let num = 1; func1(); // išves 1 func2(); // išves 2

Kadangi bet kuri funkcija gali lengvai pakeisti globalųjį kintamąjį, tai jų naudojimas reiškia sunkiai pastebimų klaidų šaltinį. Dėl šios priežasties globalių kintamųjų naudojimas scenarijuje turi būti sumažinamas iki minimumo. Pageidautina, kad jų iš viso nebus arba būtų kuo mažesnis kiekis.

Nustatykite, neleisdami kodui, kas bus išvesta į konsolę:

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

Nustatykite, neleisdami kodui, kas bus išvesta į konsolę:

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

Nustatykite, neleisdami kodui, kas bus išvesta į konsolę:

function func() { console.log(num); } let num; num = 1; func(); num = 2; func();
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti