⊗jsPmFVNC 220 of 505 menu

იგივე სახელის მქონე ცვლადები ფუნქციებში JavaScript-ში

დაე, ფუნქციის გარეთაც და შიგნითაც იყოს ცვლადი num. ამ შემთხვევაში, ნებისმიერი ცვლილება ლოკალურ ცვლადთან num არ ახდენს გავლენას გლობალურ ცვლადზე num:

let num = 1; // გლობალური ცვლადი function func() { let num = 2; // ლოკალური ცვლადი console.log(num); } func(); // ვიძახებთ ფუნქციას, გამოიტანს 2-ს console.log(num); // გამოიტანს 1-ს - გლობალური ცვლადი არ შეცვლილა

მაგრამ, თუ დაგვავიწყდება ლოკალური ცვლადის num გამოცხადება let-ის მეშვეობით, მაშინ ფუნქციის შიგნით არ შეიქმნება ლოკალური ცვლადი num, არამედ უბრალოდ შეიცვლება გლობალური ცვლადი:

let num = 1; function func() { num = 2; // დაგვავიწყდა let-ის დაწერა - ვცვლით გარე ცვლადს console.log(num); } func(); // ვიძახებთ ფუნქციას, გამოიტანს 2-ს console.log(num); // გამოიტანს 2-ს - ცვლადი შეიცვალა

აქ ორი სიტუაცია შეიძლება იყოს: ან ჩვენ ნამდვილად გვინდოდა გლობალური ცვლადის შეცვლა (მაშინ ყველაფერი კარგადაა), ან დაგვავიწყდა let და შემთხვევით შევცვალეთ გლობალური ცვლადი.

მეორე შემთხვევა არის ძნელად აღმოსაჩენი შეცდომა, რომელიც იწვევს სკრიპტის არაპროგნოზირებად ქცევას. ამიტომ ყოველთვის, ახალი ცვლადის შემოღებისას გამოაცხადეთ იგი let-ის მეშვეობით.

განსაზღვრეთ, კოდის გაშვების გარეშე, რა გამოიტანს კონსოლში:

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

განსაზღვრეთ, კოდის გაშვების გარეშე, რა გამოიტანს კონსოლში:

let num = 1; function func() { let num = 2; } func(); console.log(num);
ქართული
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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა