JavaScript ရှိ Global Variables များနှင့် Function Parameters များ

ကျွန်ုပ်တို့တွင် ဂဏန်းတစ်ခုကို parameter အဖြစ်လက်ခံသော function တစ်ခုရှိသည်ဆိုပါစို့။

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

Function ၏ အပြင်ဘက်တွင် variable num ရှိသည်ဆိုပါစို့။

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

let num = 1; // အပြင်ဘက် global variable

ကျွန်ုပ်တို့၏ function ကို variable num ကို parameter အဖြစ်ပေးပြီး ခေါ်ယူကြည့်ပါစို့။

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

let num = 1;
func(num); // function ကို parameter နှင့်ခေါ်သည်၊ 1 ကိုပြမည်

ရလဒ်အနေဖြင့် function အတွင်းတွင် variable localNum (function ၏ parameter) နှင့် variable num (အပြင်ဘက် variable အဖြစ်) နှစ်ခုစလုံးကို ဝင်ရောက်ကြည့်ရှုနိုင်မည်ဖြစ်သည်။

javascriptfunction func(localNum) {
  console.log(num); // 1 ကိုပြမည်
  console.log(localNum); // 1 ကိုပြမည်
}

let num = 1;
func(num);

Variable localNum ကိုယ်၌သည် function ၏ local variable ဖြစ်ပြီး အပြင်ဘက်မှ ဝင်ရောက်ကြည့်ရှု၍မရပါ။

javascriptfunction func(localNum) {
  
}

let num = 1;
func(num); // function ကို parameter နှင့်ခေါ်သည်
console.log(localNum); // error ပေးမည်

Variable localNum သည် local ဖြစ်သောကြောင့်၊ ၎င်းနှင့်ပြုလုပ်သော မည်သည့်ပြောင်းလဲမှုများမျှ အပြင်ဘက်ကို ပြောင်းလဲမှုမရှိစေပါ။

javascriptfunction func(localNum) {
  localNum = 2; // အပြင်ဘက်ကို ဘာမှမပြောင်းပါ
}

let num = 1;
func(num);

အကယ်၍ function အတွင်း variable num (global) ကိုပြောင်းလဲပါက၊ ပြောင်းလဲမှုများသည် အပြင်ဘက်တွင်လည်း ပေါ်လာမည်ဖြစ်သည်။

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num); // 2 ကိုပြမည်

သို့သော် function အတွင်းတွင် variable num ကို let ဖြင့်ကြေငြာပါက၊ ထိုသို့ဖြင့် အပြင်ဘက် variable အပေါ်အကျိုးသက်ရောက်မှုမရှိသော local variable num တစ်ခုကို ဖန်တီးရာရောက်သည်။

javascriptfunction func(localNum) {
  let num = 2; // let ဖြင့်ကြေငြာမည်
}

let num = 1;
func(num);
console.log(num); // 1 ကိုပြမည် - ဘာမှမပြောင်းလဲပါ
Задание 1

ကုဒ်ကို မစတင်မီ၊ console တွင် ဘာထွက်လာမည်ကို သတ်မှတ်ပါ။

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

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

ကုဒ်ကို မစတင်မီ၊ console တွင် ဘာထွက်လာမည်ကို သတ်မှတ်ပါ။

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

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

ကုဒ်ကို မစတင်မီ၊ console တွင် ဘာထွက်လာမည်ကို သတ်မှတ်ပါ။

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

let num = 1;
func(num);
num = 2;
Задание 4

ကုဒ်ကို မစတင်မီ၊ console တွင် ဘာထွက်လာမည်ကို သတ်မှတ်ပါ။

javascriptlet num = 1;

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

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

ကုဒ်ကို မစတင်မီ၊ console တွင် ဘာထွက်လာမည်ကို သတ်မှတ်ပါ။

javascriptfunction func(localNum) {
  localNum = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 6

ကုဒ်ကို မစတင်မီ၊ console တွင် ဘာထွက်လာမည်ကို သတ်မှတ်ပါ။

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 7

ကုဒ်ကို မစတင်မီ၊ console တွင် ဘာထွက်လာမည်ကို သတ်မှတ်ပါ။

javascriptfunction func(localNum) {
  let num = 2;
}

let num = 1;
func(num);
console.log(num);