⊗jsPmFVGb 218 of 505 menu

Գլոբալ փոփոխականները ֆունկցիաներում JavaScript-ում

JavaScript-ում (այլ լեզուներում ամենից հաճախ այդպես չէ) ֆունկցիայի դուրս սահմանված փոփոխականները տեսանելի կլինեն այդ ֆունկցիայի ներսում: Նման փոփոխականները կոչվում են գլոբալ: Տեսնենք օրինակով.

let num = 1; // փոփոխականը ֆունկցիայից դուրս function func() { console.log(num); // num փոփոխականը տեսանելի է ֆունկցիայի ներսում } func(); // կարտածի 1

Իրականում փոփոխականը պետք է սահմանված լինի ոչ թե ֆունկցիայի սահմանումից առաջ, այլ նրա կանչից առաջ.

function func() { console.log(num); } let num = 1; // փոփոխականը ֆունկցիայից դուրս func(); // կարտածի 1

Եթե փոխենք փոփոխականի արժեքը և դրանից հետո ամեն անգամ կանչենք ֆունկցիան - console.log ամեն անգամ կարտածի տարբեր արդյունքներ.

function func() { console.log(num); } let num; // հայտարարենք փոփոխականը num = 1; // տալիս ենք 1 արժեքը func(); // կարտածի 1 num = 2; // տալիս ենք 2 արժեքը func(); // կարտածի 2

Եթե ունենք մի քանի ֆունկցիա, ապա գլոբալ փոփոխականը հասանելի կլինի այդ ֆունկցիաներից յուրաքանչյուրում.

function func1() { console.log(num); } function func2() { console.log(num); } let num = 1; func1(); // կարտածի 1 func2(); // կարտածի 1

Եթե ֆունկցիաներից մեկում տեղի ունենա գլոբալ փոփոխականի փոփոխություն, ապա այդ փոփոխականը կփոխվի բոլոր այն ֆունկցիաներում, որոնք օգտագործում են այդ փոփոխականը.

function func1() { console.log(num); num++; // փոխում ենք գլոբալ փոփոխականը } function func2() { console.log(num); } let num = 1; func1(); // կարտածի 1 func2(); // կարտածի 2

Քանի որ ֆունկցիաներից ցանկացածը հեշտությամբ կարող է փոխել գլոբալ փոփոխականը, ապա դրանց օգտագործումը ներկայացնում է դժվարաբռնելի սխալների բուծման տեղ: Այս պատճառով գլոբալ փոփոխականների օգտագործումը սկրիպտում պետք է հասցնել նվազագույնի: Ցանկալի է, որ դրանք ընդհանրապես չլինեն կամ լինեն նվազագույն քանակով:

Որոշեք՝ առանց կոդը գործարկելու, թե ինչ կարտածվի կոնսոլում.

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

Որոշեք՝ առանց կոդը գործարկելու, թե ինչ կարտածվի կոնսոլում.

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

Որոշեք՝ առանց կոդը գործարկելու, թե ինչ կարտածվի կոնսոլում.

function func() { console.log(num); } let num; num = 1; func(); num = 2; func();
Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել