⊗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हिन्दीMagyarՀայերենIndonesiaItaliano日本語Қазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა