JavaScript တွင် Function များ၏ အပြင်ဘက်ကိန်းရှင်များသို့ ဝင်ရောက်အသုံးပြုခြင်း

အောက်ပါကုဒ်ကို ကြည့်ရှုကြည့်ပါစို့:

javascriptlet num = 1; // variable ၏တန်ဖိုးကို သတ်မှတ်ပါ

function func() {
  console.log(num); // ၎င်းကို console တွင်ထုတ်ပြပါ
}

func(); // function ကိုခေါ်ယူပါ

ကျွန်ုပ် ယခင်က ဖော်ပြခဲ့သည့်အတိုင်း variable ၏တန်ဖိုးသည် function ၏အဓိပ္ပာယ်ဖွင့်ဆိုချက်မတိုင်မီတွင် ရှိနေရန် မလိုအပ်ပါ။ အဓိကအချက်မှာ ၎င်းသည် function ခေါ်ယူမှုမပြုမီတွင် ရှိနေရန်ဖြစ်သည်:

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

let num = 1;
func();

တကယ်တော့ ဒီဟာက လုံးဝမမှန်ပါဘူး။ ကျွန်ုပ်တို့၏ function သည် ၎င်းကိုမခေါ်ယူမီတည်းက variable num ၏တန်ဖိုးကို သိပြီးသားဖြစ်သည်:

javascriptlet num = 1;

function func() {
  console.log(num); // function သည် num = 1 ဖြစ်သည်ကို သိပြီးဖြစ်သည်
}

ဤနေရာတွင် ပိုမိုရှုပ်ထွေးသောဥပမာတစ်ခုရှိပါသည်:

javascriptlet num = 1; // ဤအချိန်တွင် function သည် num = 1 ဖြစ်သည်ကို သိရှိသည်

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

num = 2; // ဤအချိန်တွင် function သည် num = 2 ဖြစ်သည်ကို သိရှိသည်

Function ခေါ်ယူမှုများကို ထပ်မံထည့်သွင်းကြည့်ပါမည်:

javascriptlet num = 1; // ဤအချိန်တွင် function သည် num = 1 ဖြစ်သည်ကို သိရှိသည်
func(); // 1 ကိုထုတ်ပြမည်

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

func(); // 1 ကိုထုတ်ပြမည်
num = 2; // ဤအချိန်တွင် function သည် num = 2 ဖြစ်သည်ကို သိရှိသည်
func(); // 2 ကိုထုတ်ပြမည်

နောက်တစ်ကြိမ် ထပ်မံဖော်ပြရလျှင်: တကယ်တော့ function သည် အပြင်ဘက် variable များ၏တန်ဖိုးများကို ၎င်းကိုခေါ်ယူခြင်းမရှိဘဲနှင့်ပင် သိရှိပါသည်။