⊗jsPmFVGb 218 of 505 menu

Globaalit muuttujat funktioissa JavaScriptissä

JavaScriptissä (useimmissa muissa kielissä yleensä ei näin) funktion ulkopuolella määritellyt muuttujat ovat näkyvissä funktion sisällä. Such variables are called globaaleja muuttujia. Katsotaan esimerkkiä:

let num = 1; // muuttuja funktion ulkopuolella function func() { console.log(num); // muuttuja num näkyy funktion sisällä } func(); // tulostaa 1

Itse asiassa muuttujan on oltava määritelty ei ennen funktion määrittelyä, vaan ennen sen kutsua:

function func() { console.log(num); } let num = 1; // muuttuja funktion ulkopuolella func(); // tulostaa 1

Jos muutat muuttujan arvoa ja sen jälkeen kutsumme funktiota joka kerta - console.log tulostaa eri tulokset joka kerta:

function func() { console.log(num); } let num; // määritellään muuttuja num = 1; // asetetaan arvoksi 1 func(); // tulostaa 1 num = 2; // asetetaan arvoksi 2 func(); // tulostaa 2

Jos meillä on useita funktioita, globaali muuttuja on saatavilla jokaisessa näistä funktioista:

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

Jos yhdessä funktioista tapahtuu muutoksia globaaliin muuttujaan, tämä muuttuja muuttuu kaikissa muuttujaa käyttävissä funktioissa:

function func1() { console.log(num); num++; // muutetaan globaalia muuttujaa } function func2() { console.log(num); } let num = 1; func1(); // tulostaa 1 func2(); // tulostaa 2

Koska mikä tahansa funktioista voi helposti muuttaa globaalia muuttujaa, niiden käyttö edustaa hedelmällistä maaperää vaivihkaisille virheille. Tästä syystä globaalien muuttujien käyttöä skriptissä tulisi vähentää minimiin. On toivottavaa, että niitä ei olisi ollenkaan tai olisi vain minimaalinen määrä.

Päätä, suorittamatta koodia, mitä tulostetaan konsoliin:

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

Päätä, suorittamatta koodia, mitä tulostetaan konsoliin:

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

Päätä, suorittamatta koodia, mitä tulostetaan konsoliin:

function func() { console.log(num); } let num; num = 1; func(); num = 2; func();
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää