⊗jsPmClCNG 265 of 505 menu

JavaScript-dä global sanaw üýtgeýjisi

num üýtgeýjisini funksiýalaryň daşyna çykaryp, şeýlelik bilen ony global edeliň:

let num = 1; // global üýtgeýji function test() { return function() { console.log(num); num++; }; }

Bu ýagdaýda, gaýdyp berilýän ähli funksiýalar bu global üýtgeýjini üýtgeder we sanawçylar artık bir-birine bagly işler:

let num = 1; function test() { return function() { console.log(num); num++; }; } let func1 = test(); // birinji sanawçy func1(); // 1 görkezer func1(); // 2 görkezer let func2 = test(); // ikinji sanawçy func2(); // 3 görkezer func2(); // 4 görkezer

Öňki kodymyz nädip garaşsyz sanawçylar döredýärdi? Bu kody ýatladyp:

function test() { let num = 1; return function() { console.log(num); num++; }; };

Mesele şonda, num üýtgeýjisi - test funksiýasynyň içinde lokaldyr. Şonuň üçin her test çagyryşy öz lokal üýtgeýjisini döredýär.

Şonuň üçin gaýdyp berilýän funksiýalar her biri test funksiýasynyň öz lokal üýtgeýjisine ýüz tutar. Işiň garaşsyzlygy edil şeýle gazanylyar.

Eger num global üýtgeýji edilse - bu hem ýapyşma bolar. Diňe gaýdyp berilýän funksiýalaryň leksik daşlaýyşlary bir num üýtgeýjisine ýüz tutýar - bu üýtgeýjideki islendik üýtgeşiklik ähli funksiýalarda görüner.

Kody işletmezden öň, konsola näme çykjakdygyny kesgitleň:

let counter = 0; function test() { return function() { console.log(counter); counter++; }; } let func = test; let func1 = func(); let func2 = func(); func1(); func2(); func1(); func2();

Kody işletmezden öň, konsola näme çykjakdygyny kesgitleň:

function test() { let counter = 0; return function() { return function() { console.log(counter); counter++; }; }; } let func = test()(); let func1 = func; let func2 = func; func1(); func2(); func1(); func2();

Kody işletmezden öň, konsola näme çykjakdygyny kesgitleň:

function test() { let counter = 0; return function() { return function() { console.log(counter); counter++; }; }; } let func = test(); let func1 = func(); let func2 = func(); func1(); func2(); func1(); func2();
Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et