JavaScript ရှိ လုပ်ဆောင်ချက်များအတွင်း ဂလိုဘယ်ကိန်းရှင်များ

JavaScript တွင် (အခြားဘာသာစကားများတွင် များသောအားဖြင့် မဟုတ်ပါ) လုပ်ဆောင်ချက်၏ အပြင်ဘက်တွင် သတ်မှတ်ထားသော ကိန်းရှင်များသည် ထိုလုပ်ဆောင်ချက်၏ အတွင်းပိုင်းတွင် မြင်နိုင်မည်ဖြစ်သည်။ �ိုသို့သော ကိန်းရှင်များကို ဂလိုဘယ်ကိန်းရှင်များ ဟုခေါ်သည်။ ဥပမာဖြင့် ကြည့်ကြပါစို့:

javascriptlet num = 1; // လုပ်ဆောင်ချက်အပြင်ဘက်ရှိ ကိန်းရှင်

function func() {
  console.log(num); // func လုပ်ဆောင်ချက်အတွင်းတွင် num ကိန်းရှင် မြင်နိုင်သည်
}

func(); // 1 ကိုပြသမည်

တကယ်တော့ ကိန်းရှင်ကို လုပ်ဆောင်ချက်၏ သတ်မှတ်ချက်မတိုင်မီ မဟုတ်ဘဲ ၎င်း၏ ခေါ်ယူမှုမတိုင်မီ သတ်မှတ်ထားသင့်သည်:

javascriptfunction func() {
  console.log(num);
}

let num = 1; // လုပ်ဆောင်ချက်အပြင်ဘက်ရှိ ကိန်းရှင်
func();      // 1 ကိုပြသမည်

ကိန်းရှင်၏ တန်ဖိုးကို ပြောင်းလဲပြီး နောက်ပိုင်းတွင် လုပ်ဆောင်ချက်ကို အကြိမ်တိုင်း ခေါ်ယူပါက - console.log သည် အကြိမ်တိုင်းတွင် ရလဒ်အမျိုးမျိုးကို ပြသမည်ဖြစ်သည်:

javascriptfunction func() {
  console.log(num);
}

let num; // ကိန်းရှင်ကို ကြေညာပါမည်

num = 1; // တန်ဖိုး 1 ကို သတ်မှတ်ပါမည်
func();  // 1 ကိုပြသမည်

num = 2; // တန်ဖိုး 2 ကို သတ်မှတ်ပါမည်
func();  // 2 ကိုပြသမည်

လုပ်ဆောင်ချက် များစွာရှိပါက၊ ဂလိုဘယ် ကိန်းရှင်သည် ထိုလုပ်ဆောင်ချက်များ၏ တစ်ခုစီတွင် ရရှိနိုင်မည်ဖြစ်သည်:

javascriptfunction func1() {
  console.log(num);
}

function func2() {
  console.log(num);
}

let num = 1;

func1(); // 1 ကိုပြသမည်
func2(); // 1 ကိုပြသမည်

လုပ်ဆောင်ချက်များအနက် တစ်ခုတွင် ဂလိုဘယ်ကိန်းရှင်နှင့် ပြောင်းလဲမှုများ ဖြစ်ပွားပါက၊ ထိုကိန်းရှင်သည် ထိုကိန်းရှင်ကို အသုံးပြုသော လုပ်ဆောင်ချက်အားလုံးတွင် ပြောင်းလဲသွားမည်ဖြစ်သည်:

javascriptfunction func1() {
  console.log(num);
  num++; // ဂလိုဘယ်ကိန်းရှင်ကို ပြောင်းလဲပါမည်
}

function func2() {
  console.log(num);
}

let num = 1;

func1(); // 1 ကိုပြသမည်
func2(); // 2 ကိုပြသမည်

လုပ်ဆောင်ချက်များအနက် မည်သည့်တစ်ခုကမဆို ဂလိုဘယ် ကိန်းရှင်ကို အလွယ်တကူ ပြောင်းလဲနိုင်သောကြောင့်၊ ၎င်းတို့၏ အသုံးပြုမှုသည် ရှာဖွေရခက်သော အမှားများ၏ ဖြစ်ပွားရာနေရာ ဖြစ်လာနိုင်သည်။ ဤအကြောင်းပြချက်ကြောင့်၊ စကရစ်ပ်တွင် ဂလိုဘယ်ကိန်းရှင်များ အသုံးပြုခြင်းကို အနည်းဆုံးသို့ လျှော့ချသင့်သည်။ ၎င်းတို့ လုံးဝမရှိခြင်း သို့မဟုတ် အလွန်အနည်းငယ်သာ ရှိခြင်းသည် အကောင်းဆုံးဖြစ်သည်။

Задание 1

ကုဒ်ကို မစတင်မီ၊ ကွန်ဆိုးတွင် မည်သည့်အရာကို ပြသမည်ကို သတ်မှတ်ပါ:

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

func();
Задание 2

ကုဒ်ကို မစတင်မီ၊ ကွန်ဆိုးတွင် မည်သည့်အရာကို ပြသမည်ကို သတ်မှတ်ပါ:

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

num = 2;
func();
Задание 3

ကုဒ်ကို မစတင်မီ၊ ကွန်ဆိုးတွင် မည်သည့်အရာကို ပြသမည်ကို သတ်မှတ်ပါ:

javascriptfunction func() {
  console.log(num);
}

let num;

num = 1;
func();

num = 2;
func();