⊗jsPmFVNC 220 of 505 menu

Muutujate samanimed funktsioonides JavaScriptis

Olgu väljaspool funktsiooni ja sees olemas muutuja num. Sel juhul ükski muutus lokaalse muutujaga num ei mõjuta mingil viisil globaalset muutujat num:

let num = 1; // globaalne muutuja function func() { let num = 2; // lokaalne muutuja console.log(num); } func(); // kutsume funktsiooni, väljastab 2 console.log(num); // väljastab 1 - globaalne muutuja ei muutunud

Kuid kui me unustame deklareerida lokaalse muutuja num läbi let, siis funktsiooni sees ei looda lokaalset muutujat num, vaid lihtsalt muudetakse globaalset muutujat:

let num = 1; function func() { num = 2; // unustasime kirjutada let - muudame välist muutujat console.log(num); } func(); // kutsume funktsiooni, väljastab 2 console.log(num); // väljastab 2 - muutuja muutus

Siin võib olla kaks olukorda: kas me tegelikult soovisime muuta globaalset muutujat (siis kõik on korras) või me unustasime let ja kogemata muutsime globaalset muutujat.

Teine juhtum on raskesti tabatav viga, mis viib skripti ettearvamatu käitumiseni. Seetõttu deklareerige alati uus muutuja läbi let.

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

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

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

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