⊗jsPmClCr 263 of 505 menu

JavaScript တွင် Closure များဖြင့် ကောင်တာ

ကျွန်ုပ်တို့ကြည့်ရှုထားသောကုဒ်ကို ပြန်လာသည့်လုပ်ဆောင်ချက်သည် အကြိမ်တိုင်း num ကိန်းရှင်၏တန်ဖိုးကို တစ်ခုစီ တိုးပေးစေရန် ပြန်ရေးကြည့်ပါ။

function test() { let num = 1; return function() { console.log(num); num++; // တစ်ခုထည့်ပေါင်းသည် } } let func = test();

ထိုသို့ဆိုလျှင် func လုပ်ဆောင်ချက်ကို ခေါ်ယူသည့်အကြိမ်တိုင်းသည် console တွင် တန်ဖိုးအသစ်ကို ပြသပေးမည်။

function test() { let num = 1; return function() { console.log(num); num++; } } let func = test(); func(); // 1 ကိုပြမည် func(); // 2 ကိုပြမည် func(); // 3 ကိုပြမည် func(); // 4 ကိုပြမည် func(); // 5 ကိုပြမည်

ကျွန်ုပ်တို့သည် closure ကို အသုံးပြု၍ (ပိုမိုတိကျစွာပြောရလျှင် ကျွန်ုပ်တို့၏လုပ်ဆောင်ချက်၏ closure မှ num ကိန်းရှင်ကို အသုံးပြု၍) လုပ်ဆောင်ချက်ခေါ်ယူမှု ကောင်တာကို အကောင်အထည်ဖော်ပြီးဖြစ်သည်။

test လုပ်ဆောင်ချက်ကို ခေါ်ယူသည့်အကြိမ်တိုင်းသည် ကိုယ်ပိုင် closure ရှိသည့် လုပ်ဆောင်ချက်အသစ်ကို ပြန်ပေးမည်ကို သတိပြုပါ။ ဆိုလိုသည်မှာ ကောင်တာများကွဲပြားစွာ လွတ်လပ်စွာ အလုပ်လုပ်ကြမည်ဖြစ်သည်။

function test() { let num = 1; return function() { console.log(num); num++; }; } let func1 = test(); // ပထမကောင်တာ func1(); // 1 ကိုပြမည် func1(); // 2 ကိုပြမည် let func2 = test(); // ဒုတိယကောင်တာ func2(); // 1 ကိုပြမည် func2(); // 2 ကိုပြမည်

ထိုသို့ဆိုလျှင် တူညီသော num ကိန်းရှင်သည် လုပ်ဆောင်ချက်များကွဲပြားလျှင် တန်ဖိုးမတူညီသော ကိန်းရှင်များအဖြစ် ရှိနေမည်။

ဆိုလိုသည်မှာ ကျွန်ုပ်တို့သည် test လုပ်ဆောင်ချက်ကို နှစ်ကြိမ်ခေါ်ယူလျှင်၊ ၎င်းမှရရှိလာသော လုပ်ဆောင်ချက်များသည် လွတ်လပ်စွာအလုပ်လုပ်ပြီး ထိုလုပ်ဆောင်ချက်တစ်ခုစီတွင် ကိုယ်ပိုင် num ကိန်းရှင်လွတ်လပ်စွာ ရှိနေမည်ဖြစ်သည်။

ကိုယ့်ဘာသာကိုယ်၊ ကျွန်ုပ်၏ကုဒ်ထဲသို့ မကြည့်ဘဲ၊ closure များပေါ်တွင် အလုပ်လုပ်သော လုပ်ဆောင်ချက်ခေါ်ယူမှု ကောင်တာကို အကောင်အထည်ဖော်ပါ။

Closure အတွင်းရှိ လုပ်ဆောင်ချက်သည် 10 ကိန်းကို သိမ်းထားပါစေ။ လုပ်ဆောင်ချက်ကို ခေါ်ယူသည့်အကြိမ်တိုင်းသည် ဤကိန်းကို 1 ဖြင့် လျှော့ချပြီး လျှော့ချထားသောကိန်းကို console တွင် ပြသစေရန် ပြုလုပ်ပါ။

0 အထိ ရေတွက်မှု ရောက်ရှိပြီးနောက် နောက်ထပ် လုပ်ဆောင်ချက်ခေါ်ယူမှုတိုင်းသည် console တွင် ရေတွက်မှု ပြီးဆုံးကြောင်း မက်ဆေ့ဂျ်ကို ပြသစေရန် ယခင်အလုပ်ကို ပြုပြင်မွမ်းမံပါ။

မြန်မာ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ဝက်ဘ်ဆိုက် လုပ်ဆောင်ခြင်း၊ ဆန်းစစ်လေ့လာခြင်းနှင့် ပုဂ္ဂလိကပြုပြင်ခြင်းအတွက် ကျွန်ုပ်တို့သည် cookie များကို အသုံးပြုပါသည်။ ဒေတာများကို ပြုပြင်ခြင်းသည် ကိုယ်ရေးကိုယ်တာ မူဝါဒအတိုင်း ဖြစ်ပါသည်။
အားလုံးလက်ခံရန် ပြင်ဆင်ရန် ငြင်းပယ်ရန်