JavaScript Function Invocation
JavaScript တစ်ခုအတွင်းရှိကုဒ် function
သည် "တစ်စုံတစ်ခု" ကိုခေါ်သောအခါတွင်လုပ်ဆောင်လိမ့်မည်။
JavaScript Function ကိုခေါ်ခြင်း။
လုပ်ဆောင်ချက်ကို သတ်မှတ်သော အခါတွင် လုပ်ဆောင်ချက်တစ်ခုအတွင်းရှိ ကုဒ်ကို လုပ်ဆောင်မည်မဟုတ်ပါ ။
လုပ်ဆောင်ချက်ကို ခေါ်ဆို သောအခါတွင် လုပ်ဆောင်ချက်တစ်ခုအတွင်းရှိ ကုဒ်ကို လုပ်ဆောင်သည် ။
"လုပ်ဆောင်ချက်တစ်ခုကို ခေါ်ဆို ခြင်း" အစား " ခေါ်ဝေါ် သည့် လုပ်ဆောင်ချက် " ဟူသော ဝေါဟာရကို အသုံးပြုခြင်းသည် သာမာန် ဖြစ်သည်။
"လုပ်ဆောင်ချက်တစ်ခုအား ခေါ်ဆိုရန်"၊ "လုပ်ဆောင်ချက်တစ်ခု စတင်ရန်" သို့မဟုတ် "လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်ရန်" ဟုလည်း မကြာခဏ ပြောလေ့ရှိပါသည်။
ဤသင်ခန်းစာတွင်၊ JavaScript လုပ်ဆောင်ချက်ကို ခေါ်စရာမလိုဘဲ ခေါ်ဆိုနိုင်သောကြောင့် ကျွန်ုပ်တို့သည် invoke ကို အသုံးပြုပါမည်။
Function တစ်ခုအား Function အဖြစ် ခေါ်ဆိုခြင်း။
ဥပမာ
function myFunction(a, b) {
return a * b;
}
myFunction(10, 2); //
Will return 20
အထက်ဖော်ပြပါလုပ်ဆောင်ချက်သည် မည်သည့်အရာနှင့်မျှ မသက်ဆိုင်ပါ။ ဒါပေမယ့် JavaScript မှာ default global object တစ်ခု အမြဲရှိပါတယ်။
HTML တွင်မူလကမ္ဘာလုံးဆိုင်ရာအရာဝတ္ထုသည် HTML စာမျက်နှာကိုယ်တိုင်ဖြစ်သည်၊ ထို့ကြောင့် အထက်ဖော်ပြပါလုပ်ဆောင်ချက်သည် HTML စာမျက်နှာနှင့်သက်ဆိုင်သည်။
ဘရောက်ဆာတစ်ခုတွင် စာမျက်နှာအရာဝတ္ထုသည် ဘရောက်ဆာဝင်းဒိုးဖြစ်သည်။ အထက်ဖော်ပြပါလုပ်ဆောင်ချက်သည် အလိုအလျောက် ဝင်းဒိုးလုပ်ဆောင်ချက်ဖြစ်လာသည်။
myFunction() နှင့် window.myFunction() သည် တူညီသောလုပ်ဆောင်ချက်ဖြစ်သည်-
ဥပမာ
function myFunction(a, b) {
return a * b;
}
window.myFunction(10, 2); // Will also return 20
၎င်းသည် JavaScript လုပ်ဆောင်ချက်ကို ခေါ်ဆိုရန် ဘုံနည်းလမ်းတစ်ခုဖြစ်သော်လည်း အလွန်ကောင်းမွန်သော အလေ့အကျင့်တစ်ခုမဟုတ်ပါ။
ကမ္ဘာလုံးဆိုင်ရာ ကိန်းရှင်များ၊ နည်းလမ်းများ သို့မဟုတ် လုပ်ဆောင်ချက်များသည် ကမ္ဘာလုံးဆိုင်ရာအရာဝတ္တုတွင် အမည်ကွဲလွဲမှုများနှင့် အမှားအယွင်းများကို အလွယ်တကူ ဖန်တီးနိုင်သည်။
ဒီ Keyword ပါ ။
JavaScript တွင်၊ ဟုခေါ်သည့်အရာ this
သည် လက်ရှိကုဒ်ကို "ပိုင်ဆိုင်သည်" ဆိုသည့်အရာဖြစ်သည်။
လုပ်ဆောင်ချက်တစ်ခုတွင် အသုံးပြုသောအခါ ၏တန်ဖိုးသည် this
လုပ်ဆောင်ချက်ကို "ပိုင်ဆိုင်သည်" ဟူသော အရာဖြစ်သည်။
this
၎င်းသည် ကိန်းရှင်မဟုတ်ကြောင်း သတိပြုပါ ။ သော့ချက်စာလုံးတစ်ခုဖြစ်သည်။ တန်ဖိုးကို သင်ပြောင်းလို့မရပါဘူး this
။
အကြံပြုချက်- JSthis
တွင် ဤသော့ချက်စာလုံး အကြောင်း ပိုမိုဖတ်ရှုပါ ။
ကမ္ဘာလုံးဆိုင်ရာအရာဝတ္ထု
ပိုင်ရှင်အရာဝတ္တုမပါဘဲ လုပ်ဆောင်ချက်တစ်ခုကို ခေါ်သောအခါ၊ တန်ဖိုး this
သည် ကမ္ဘာလုံးဆိုင်ရာ အရာဝတ္ထု ဖြစ်လာသည်။
ဝဘ်ဘရောက်ဆာတစ်ခုတွင် ကမ္ဘာလုံးဆိုင်ရာအရာဝတ္ထုသည် ဘရောက်ဆာဝင်းဒိုးဖြစ်သည်။
this
ဤဥပမာသည် ဝင်းဒိုးအရာဝတ္တုအား : တန်ဖိုးအဖြစ် ပြန်ပေးသည် ။
ဥပမာ
let x = myFunction();
// x will be the window object
function myFunction() {
return this;
}
လုပ်ဆောင်ချက်တစ်ခုကို ဂလိုဘယ်လုပ်ဆောင်ချက်အဖြစ် ခေါ်ဆိုခြင်းက ၎င်းတန်ဖိုးကို ကမ္ဘာလုံးဆိုင်ရာ အရာဝတ္ထုအဖြစ် ဖြစ်စေသည်။
ဝင်းဒိုးအရာဝတ္တုကို ကိန်းရှင်အဖြစ်အသုံးပြုခြင်းဖြင့် သင့်ပရိုဂရမ်ကို အလွယ်တကူ ပျက်စီးစေနိုင်သည်။
လုပ်ဆောင်ချက်တစ်ခုအား နည်းလမ်းတစ်ခုအဖြစ် ခေါ်ဆိုခြင်း။
JavaScript တွင် သင်သည် လုပ်ဆောင်ချက်များကို အရာဝတ္ထုနည်းလမ်းများအဖြစ် သတ်မှတ်နိုင်သည်။
အောက်ပါဥပမာသည် ဂုဏ်သတ္တိနှစ်ခု ( ပထမအမည် နှင့် နောက်ဆုံးအမည် ) နှင့် နည်းလမ်းတစ်ခု ( fullName ):
ဥပမာ
const myObject = {
firstName:"John",
lastName: "Doe",
fullName: function () {
return this.firstName + " " + this.lastName;
}
}
myObject.fullName(); // Will return "John Doe"
fullName method သည် function တစ်ခုဖြစ်သည် ။ လုပ်ဆောင်ချက်သည် အရာဝတ္ထုနှင့်သက်ဆိုင်သည်။ myObject သည် function ၏ပိုင်ရှင်ဖြစ်သည်။
ဟုခေါ်သောအရာ this
သည် JavaScript ကုဒ်ကို "ပိုင်ဆိုင်" သည့်အရာဖြစ်သည်။ ဤအခြေအနေတွင် ၏တန်ဖိုး this
သည် myObject ဖြစ်သည်။
စမ်းသပ်ပါ။ : ၏တန်ဖိုးကို ပြန်ပေးရန် fullName နည်းလမ်းကို ပြောင်းပါ ။this
ဥပမာ
const myObject = {
firstName:"John",
lastName: "Doe",
fullName: function () {
return this;
}
}
// This will return [object Object] (the owner object)
myObject.fullName();
လုပ်ဆောင်ချက်တစ်ခုကို အရာဝတ္ထုနည်းလမ်းတစ်ခုအဖြစ် ခေါ်ဆိုခြင်းသည် အရာဝတ္တု၏တန်ဖိုးကို ဖြစ်စေသည် this
။
Function Constructor ဖြင့် Function တစ်ခုကို ခေါ်ဆိုခြင်း။
function invocation သည် keyword ၏ ရှေ့တွင် new
၊ ၎င်းသည် constructor invocation ဖြစ်သည်။
သင်သည် လုပ်ဆောင်ချက်အသစ်တစ်ခုကို ဖန်တီးပုံရသည်၊ သို့သော် JavaScript လုပ်ဆောင်ချက်များသည် အရာဝတ္ထုများဖြစ်သောကြောင့် သင်သည် အရာဝတ္ထုအသစ်တစ်ခုကို အမှန်တကယ်ဖန်တီးနိုင်သည်-
ဥပမာ
// This is a function constructor:
function myFunction(arg1, arg2) {
this.firstName = arg1;
this.lastName = arg2;
}
// This creates a new object
const myObj = new myFunction("John", "Doe");
// This will return "John"
myObj.firstName;
တည်ဆောက်သူ ခေါ်ဆိုမှုတစ်ခုသည် အရာဝတ္ထုအသစ်တစ်ခုကို ဖန်တီးသည်။ အရာဝတ္ထုအသစ်သည် ၎င်း၏ constructor ထံမှ ဂုဏ်သတ္တိများနှင့် နည်းလမ်းများကို အမွေဆက်ခံသည်။
တည်ဆောက်သူ ရှိ this
သော့ချက်စာလုံးသည် တန်ဖိုးမရှိပါ။
လုပ်ဆောင်ချက်ကို ခေါ်ဆိုသောအခါ ၏တန်ဖိုးသည် this
ဖန်တီးထားသော အရာဝတ္ထုအသစ်ဖြစ်လိမ့်မည်။