Hi everyone! I'm the author of code.mu :)
I'd love to chat with my non-Russian audience. I'm looking for your feedback on the site and the translation quality. Let's chat:)
⊗jsPmFCPS 273 of 505 menu

IIFE හි ආරක්ෂිත ලෙස කාලය ලකුණ භාවිතා කිරීම

දැන් අපගේ ක්‍රියාත්මක වන ශ්‍රිතය ආරම්භයේ plus ලකුණක් නොමැතිව, round වරහනෙන් වටකර ඇති ආකාරයට යොදා ගනිමු, මේ වගේ:

(function() { console.log(1); // 1 ප්‍රතිදානය කරයි })();

num විචල්‍යය ශ්‍රිතයෙන් පිටත ප්‍රකාශයට පත් කර ඇතැයි සිතමු:

let num = 1; // කාලය ලකුණ යෙදී ඇත (function() { console.log(num); // 1 ප්‍රතිදානය කරයි })();

දැන් අපි කාලය ලකුණ යොදන අමතක කළා යැයි සිතමු:

let num = 1 (function() { console.log(num); //!! දෝෂයක් ඇති කරයි })();

මෙම කේතය දෝෂයක් ඇති කරනු ඇත, එයට හේතුව JavaScript අපගේ ශ්‍රිතය පළමු පේළියේ විධානයේ අඛණ්ඩ කොටසක් ලෙස ගනී.

මෙවැනි ගැටලු වළක්වා ගැනීම සඳහා, ක්‍රියාත්මක වන ශ්‍රිතයක් ක්‍රියාත්මක කිරීමට පෙර සෑම විටම කාලය ලකුණක් යොදන්න, මේ ආකාරයට:

let num = 1 ;(function() { console.log(num); // 1 ප්‍රතිදානය කරයි })();

ගැටලුව තරමක් කෘතිම බව පෙනේ. ඇත්ත වශයෙන්ම, එය එසේ නොවේ. ඔබගේ පිටුවට වෙනස් ගොනු වලින් බහු ස්ක්‍රිප්ට් සම්බන්ධ කර ඇති අවස්ථාවක් සිදු විය හැකිය. මෙම අවස්ථාවේදී එක් ගොනුවක අවසානයේ කාලය ලකුණක් අඩු වී ඇති නම්, දෙවන ගොනුව ක්‍රියාත්මක වන ශ්‍රිතයකින් ආරම්භ වේ නම්, එය ස්වයංක්‍රීයව ගැටලුවක් ඇති කරයි.

එබැවින්, ක්‍රියාත්මක වන ශ්‍රිතයක් ක්‍රියාත්මක කිරීමට පෙර සෑම විටම කාලය ලකුණක් යොදන්න, ඔබට දැනට ගැටලු නොමැති බවට විශ්වාසයක් ඇතත්. ඒවා පසුව ඇති විය හැකිය.

ඉහත කියූ දේ යොදා ගෙන ක්‍රියාත්මක වන ශ්‍රිතයක් ක්‍රියාත්මක කරමු, ආරම්භයේදී කාලය ලකුණක් යෙදමින්:

;(function() { console.log(1); // 1 ප්‍රතිදානය කරයි })();

කේතය ක්‍රියාත්මක නොකර, කොන්සෝලයේ ප්‍රතිදානය කරන්නේ කුමක්දැයි තීරණය කරන්න:

let str = 'str'; (function() { console.log(1); })();

කේතය ක්‍රියාත්මක නොකර, කොන්සෝලයේ ප්‍රතිදානය කරන්නේ කුමක්දැයි තීරණය කරන්න:

let str = 'str' (function() { console.log(1); })();
සිංහල
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
අපි වෙබ් අඩවිය ක්‍රියාත්මක කිරීම, විශ්ලේෂණය සහ පුද්ගලීකරණය සඳහා කුකී භාවිතා කරමු. දත්ත සැකසීම සිදුකරනු ලබන්නේ ගෝපනීයතා ප්‍රතිපත්තිය අනුව ය.
සියල්ල පිළිගන්න කොන්දේසි ප්‍රතික්ෂේප කරන්න