ကွန်ပျူတာများပရိုဂရမ်းမင်း

JavaScript ကို: function ကို function ကို။ programming language JS

Web-အရင်းအမြစ်များဖွဲ့စည်းရန်ပြောင်းလဲနေသောအကြောင်းအရာအတွေးအခေါ်များကိုစနစ်တစ်ခုဖြစ်လာကြပါပြီ။ static စာမျက်နှာများနှင့်တင်းပလိတ်များက်ဘ်ဒီဇိုင်းနောက်ဆုံးတော့သူတို့ရဲ့မစ်ရှင်ပြီးစီးခဲ့သည်။

သို့သော်ခေတ်သစ် Web-အရင်းအမြစ်ဆာဗာကနေထုတ်လုပ်လိုက်တဲ့စာမကျြနှာအစုတခုကကိုယ်စားပြုခံရဖို့ရှိသည်နှင့်ဘရောက်ဇာ (JS + AJAX) refresh မထားဘူး။

အဆိုပါဧည့်သည်များ၏ဆိုက်ရောက်၏ယခုအချိန်တွင် Web-based repository ကိုစံချိန်တင်, ထို«ဦးခေါင်း»ယင်း«ခန္ဓာကိုယ်»အပေါင်းတို့နှင့်တကွအတွက်ကုဒ်အနည်းငယ်လိုင်းများတွင်အချို့သောစာသားခေါင်းစဉ်၏စုံတွဲတစ်တွဲရှိနိုင်ပါသည်။ ဧည့်သည်၏လုပ်ငန်းစဉ်များတွင် "ပဋိသန္ဓေ ယူ. " ၏ကြွင်းသောအရာ - ကစံပြ site ကိုဖြစ်ပါတယ်, ဒါမှမဟုတ်တစ်ဦးဖြစ်အယောင်ဆောင်။

လုပ်ငန်းဆောင်တာများ၏ဖော်ပြချက်နှင့်သဘာဝထားပါ

опыт, наработаный многими десятилетиями. JavaScript ကို - ကအတွေ့အကြုံကို narabotany ဆယ်စုနှစ်ပါပဲ။ ဒါဟာဖွံ့ဖြိုးတိုးတက်မှု၏သိသာထင်ရှားသောသမိုင်း, ခေတ်သစ်အရည်အချင်းပြည့်မီအဖွဲ့သည်ဖန်တီးသူ Developer များရှိပါတယ်။ ဘာသာစကားကောင်းစွာဆင်းလှသောအစ်မ, ယုံကြည်စိတ်ချရသော, အထဲကထင်နှင့် developer တစ်ဦးလျောက်ပတ်နှင့် Self-တိုးတက်မှုများအတွက်ကုဒ်ရေးသားဖို့အတှကျတကယ့်အခွင့်အလမ်းကိုပေးတော်မူ၏။

တစ်ဦး algorithm ကို၏အယူအဆဒီနေရာမှာ function ကိုတစ်ခုဖြစ်သည်မူအရမတည်ရှိပါဘူး။ ၏သင်တန်း, ဆော့ဖ်ဝဲရေးသူဘယ်နေရာမှာမဆိုစာမကျြနှာပျေါမှာထဲသို့သွင်းထားရန်နှင့်ကကွပ်မျက်ခံရပါလိမ့်မည် script ကိုကုဒ်ထည့်သွင်းဖို့နိုင်ပါတယ်။ страницы? (Reloaded) စာမျက်နှာ loading သည့်အခါ: ဒါပေမယ့်တစ်ခါသာကွပ်မျက်ခံရသောကုဒ်အတွက်အချက်, ကဘာလဲ? ဘာကိုအချို့သောအရေး variable တွေကိုများ၏ကနဦးတန်ဖိုးများသတ်မှတ်ထားဖို့ဖြစ်နိုင်ပါတယ်။

script - ဤအရပျ variable တွေကိုနှင့်လုပ်ငန်းဆောင်တာ၏ညာဘက်ဖော်ပြချက်ထက်၎င်း၏ကိုယ်ပိုင်ဘို့အလိုငှါသာကျမ်းစာ၌ရေးထားသည်ကုဒ်ကောင်းတစ်ခုဖြစ်တယ်။ သူတို့ရဲ့နှစ်ဦးနှစ်ဖက်အပြန်အလှန်တိုက်ရိုက်ဆက်သွယ်မှု, ဒါပေမယ့်ပိုပြီးမကြာခဏကြောင့်ကွဲပြားခြားနားသောင် - ဒါဟာဖြစ်ကောင်း, လုပ်ငန်းဆောင်တာအစုတခုမရှိမဖြစ်အရေးကြီးတဲ့ဖြစ်ပါတယ်။ နေရာ function ကို၏ဖော်ပြချက်နှင့်၎င်း၏လျှောက်လွှာ၏အရပျနဲ့အတူတူပါပဲမဟုတ်ပါဘူး။

ဒါဟာ function ကိုတိုက်ရိုက်အခြား function ကိုခေါ်ပါလိမ့်မည်ဟုမလိုအပ်ပါဘူး, ဒါပေမယ့်ပြောင်းလဲနေသောကုဒ်၏ဖွဲ့စည်းခြင်းမှတဆင့်သွယ်ဝိုက်လုပ်ဆောင်နိုင်တယ်။ တစ်ဦးကဧည့်သည်ကဒီ code အတွင်းဆုံးဖြတ်ချက်တစ်ခုကြာနှင့်အတော်လေးကွဲပြားခြားနားသည့်စနစ်လုပ်ငန်းဆောင်တာအလုပ်လုပ်ပါတယ်။

အလုပ်လုပ်တဲ့ဒိုင်းနမစ်

functional ဒိုင်းနမစ် - မသာမဟုတျဘဲဖြစ်ပါတယ်စာမျက်နှာဒြပ်စင်ဖို့တာဝန်သိပ်ကိုင်တွယ်စာမျက်နှာ၏ဒြပ်စင်ဖွဲ့စည်းရန်ကြောင်းလုပ်ဆောင်ချက်များကိုဖြစ်ကြသည်ကို၎င်း, ချက်ချင်းကိုင်တွယ်၏လည်းပြောင်းလဲနိုင်သည်။

အဆိုပါအရေးယူဆောင်ရွက်မှုပြုလုပ်အပေါ်ဒြပ်စင်များနှင့်ဧည့်သည်အမူအကျင့်အပေါ်မူတည်ပြီးစာမျက်နှာပေါ်နေရာအရပ်ကြာပါသည်။ မောက်, ကီးဘုတ်, ခလုတ်, ကလစ်, ဖြစ်ရပ်များ, ပစ္စည်းများနှင့်အခြားခွအေနမြေား၏လပ်ြရြားမြလိုအပ်သောလုပ်ငန်းဆောင်တာများပစ်လွှတ်ဖို့ဦးဆောင်လမ်းပြ။

မူလကမျှကိုက်ညီမှုရှိမရှိအပြိုင်ရှိသေး၏။ အဆိုပါ Web-အရင်းအမြစ်ဖြစ်ရပ်များတစ်ခုလုံလောက်သောတုန့်ပြန်ရှိပါသည်။ ဘယ်လောက်မြန် JavaScript ကိုကအများအပြားနည်းပညာဆိုင်ရာ (ကွန်ပျူတာ, ဆက်သွယ်ရေးလိုင်းများ) နှင့် semantic (ယုတ္တိဗေဒ algorithm ကို, ဘာသာရပ်ဧရိယာပြဿနာကိုအဓိပ္ပာယ်) အချက်များပေါ်တွင်မူတည်နေတဲ့အထူးသဖြင့် function ကိုပြည့်။

တကယ်တော့ဒါဟာတစ်ခုခုအပြိုင်အတွက်အလုပ်လုပ်ခဲ့ထားပါတယ်, ဒါပေမယ့်တစ်ခုခုတစ်ခုခုပြီးနောက်လှည့်ပါလိမ့်မယ်, ဒါပေမယ့်ဒီအထူးအဓိပ်ပာယျမဟုတျကွောငျးစောဒကတက်နိုင်ပါတယ်။ ကဧည့်သည်များ၏လုပ်ရပ်များဖို့လုံလောက်သောတုန့်ပြန်ဖန်တီးဖို့အခွင့်အလမ်းဖြစ်ပါသည် - ဒါဟာ JavaScript ကို function ကိုအရေးကြီးပါသည်။

တစ်ခုတည်း browser ၏နက်နဲသောပင်လယ်အတွင်းဖြန့်ဝေအပြောင်းအလဲနဲ့: ဒီဇိုင်း၌ဤအသစ်ကစဉ်းစားတွေးခေါ်!

variable တွေကိုနှင့်လုပ်ငန်းဆောင်တာများအတွက် syntax

JavaScript ကို-variable တွေကိုပု tag ကို« script ကို»၌၎င်း, function ကို၏ခန္ဓာကိုယ်ထဲမှာချထားပါသည်။ functions တူညီသောလမ်းသတ်မှတ်ကြပါတယ်။ function ကိုအထဲမှာရေးသားဖို့အထူးအဓိပ္ပာယ်ကိုအခြား function ကိုလည်းမရှိ, ဒါပေမယ့်ဒါဟာအမျိုးမျိုးသောအကြောင်းပြချက်များအတွက်လိုအပ်သောဖြစ်နိုင်ပါသည်, ထိုသို့အတော်လေးကျိုးကြောင်းဆီလျော်ပါတယ်။

function ကို၏ဖော်ပြချက်ယေဘုယျအားဖြင့်၎င်း၏နာမည်ဖြင့်နောက်တော်သို့လိုက် keyword ကို« function ကို», ကော်မာကွဲကွာကွင်းအတွင်းအငြင်းပွားမှုများများ၏စာရင်း, နှင့်မသန်စွမ်းပဲအတွက် function ကိုခန္ဓာကိုယ်နှင့်အတူစတင်ခဲ့သည်။

ဒီဥပမာမှာနှစ်ခုလုပ်ဆောင်ချက်များကိုစာမျက်နှာနှင့်ဆာဗာတို့အကြား AJAX-လဲလှယ်ပေးကြောင်းဖော်ပြလေ့ရှိသည်။ တစ်စိတ်တစ်ပိုင်း scXHR နှစ်ဦးစလုံး InitXML အတွက်ရရှိနိုင်ကြောင့်, WaitReplySC အတွင်းအထက်ဖော်ပြခဲ့သည်။

အဆိုပါ function ကိုအမည်နှင့် parameter သည် "function ကို"

JavaScript ကို-function ကို function ကိုဆာဗာတုံ့ပြန်မှုပြီးနောက်ဟုခေါ်သည့်အခါပြတ်တောင်းပြတ်တောင်းဗားရှင်းရှိပါတယ်ပေးအပ်ခဲ့တာဖြစ်ပါတယ်။ ထို့ကြောင့်ဆာဗာကနေတုံ့ပြန်မှုကိုလက်ခံရရှိ, WaitReplySC လက်ခံရရှိသောသတင်းအချက်အလက်များဖြည်နှင့်ကောင်းစွာဆာဗာမှလာမယ့်တောင်းဆိုမှုကိုအစပျိုးစေခြင်းငှါသောအခြားလုပ်ငန်းဆောင်တာ, ကိုဖြစ်ပေါ်စေသည်, စာမျက်နှာ tag ကို access လုပ်ပါတယ်။

တစ်ဦး function ကို - ဤတွင်ကြောင့် WaitReplySC မှတ်သားဖို့လည်းအရေးကြီးပါတယ်။ scXHR.onreadystatechange = WaitReplySC она передается как параметр. ဒါပေမယ့်လိုင်းအတွက် scXHR.onreadystatechange = WaitReplySC က parameter သည်အဖြစ်အောင်မြင်ပြီးဖြစ်ပါတယ်။ parameters တွေကိုကဲ့သို့သောအခြားလုပ်ငန်းဆောင်တာမှဤသည်မှာယေဘုယျစည်းမျဉ်းလွှဲပြောင်း function ကို။ Point ကွင်းခတ်နှင့်သူတို့က၎င်း၏ parameter သည် (s) ကိုပေး၏ - function ကိုချက်ချင်းကွပ်မျက်ခံရလိမ့်မည်။ သာနာမဖြင့်မှအဓိက, ကောင်းစွာဒီတော့အဘယျသို့။ ခေါ်ရန် function ကိုသူမရဲ့နာမည်ကိုတယ်သူတဦးတည်းဖြစ်စေမည်။

AJAX ကနေတဆင့်အကောင်အထည်ဖော်အဆိုပါလုပ်ဆောင်ချက်ကို, သင် server မှလက်ခံရရှိသော data တွေကိုတဆင့်တစ်ဦး JavaScript ကို function ကိုခေါ်ခြင်းခွင့်ပြုပါတယ်။ တကယ်တော့, တစ်ဦးသို့မဟုတ်အခြားအင်္ဂါရပ်မှာအားလုံးသူမလှည့်ပေးသော function ကို "သိ" နှင့်အဘယ်သို့ဆိုင်သတင်းအချက်အလက်နှင့်အတူမည်မဟုတ်ပါဆာဗာမှတောင်းဆိုချက်တစ်ခုပို့ခြင်း။

အထဲက function ကိုနှင့်၎င်း၏ရလဒ်

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

ပြန်လာ: သင် function ကိုရလဒ်ပြန်လာချင်လျှင်, သင် JavaScript ကိုပြန်လာကြေညာချက်ကိုသုံးနိုင်သည်။ function ကိုတစ်ခန္ဓာကိုယ်အဖြစ်ပြန်လာထုတ်ပြန်ချက်များတစ်ဦးလုံလောက်သောအရေအတွက်အားဖြစ်နိုင်ပါသည်။ ဒါဟာသူတို့အားလုံးကိုတူညီတဲ့အမျိုးအစား၏ရလဒ်ပြန်လာလိမ့်မည်ဟုမလိုအပ်ပါဘူး။

ပုံမှန်အားဖြင့်, developer များအခြေအနေအပေါ်မူတည်ပြီးအမြန်ဆုံးအဖြစ် function ကိုကနေဆုတ်ခွာဖို့ဆုံးဖြတ်, ဒီအခွင့်အလမ်းလေးစားကြပါသည်။

သငျသညျအစောပိုငျးကထွက်ရနိုင်သည့်အခါကလုပ်ငန်းဆောင်တာများမြေတပြင်လုံး algorithm ကိုမှတဆင့် run ဖို့မလိုအပ်ပါဘူး။

function ကိုအငြင်းပွားမှုများ

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

function ကိုအတွင်းပိုင်းတစ်အရှည်ပိုင်ဆိုင်မှုရှိတယ်သောရရှိနိုင် variable ကိုအငြင်းပွားမှုများဖြစ်ပါတယ်။ သင်, အငြင်းပွားမှုများ [1] [0] အငြင်းပွားမှုများမှတဆင့်မဆိုအငြင်းအခုံ function ကိုရည်ညွှန်းနိုင်ပါသည် ... ကနောက်ဆုံးငြင်းခုံဖို့ [arguments.length-1] ။

အဆိုပါဆင်ခြေ၏ function ကိုပြောင်းခြင်း function ကိုအတွင်းအပြင်သော်လည်းမကပြင်ပမှာတကယ်ဖြစ်ပါတယ်။ function ကိုပြင်ပမှာတစ်ခုခုပြောင်းလဲပစ်နိုင်ရန်အတွက်အဆိုပါအော်ပရေတာပြင်ပရန်လိုအပ်သောတန်ဖိုးကိုရှောက်သွားရသောမှတဆင့် JavaScript ကိုပြန်လာအသုံးပြုရမည်ဖြစ်သည်။

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

ကျနော်တို့ပေးထားသောအချိန်မှာဖျော်ဖြေသော function ကိုခေါ်ပါရန်ရည်ရွယ်သောအငြင်းပွားမှုများ callee အိမ်ခြံမြေ, ရှိသည်။ အကြောင်းရင်းသူ့ဟာသူလျှင်, function ကိုအတွက် function ကို၏ JavaScript ကိုဗားရှင်းတဲ့ request ကိုအကောင်အထည်ဖော်မည်ဖြစ်သည်။

လုပ်ဆောင်ချက်များကိုအသုံးပြုခြင်း

လုပ်ဆောင်မှု၏အဓိကစိုးရိမ်ပူပန်မှု - ဖြစ်ရပ်ကိုဘရောက်ဇာကိုအစေခံရန်။ ဒီနီးပါးတိုင်း tag ကိုလုပ်ဖို့က၎င်း၏ကုန်ထုတ်လုပ်ရေး၏ဖြစ်ရပ်တစ်ခုအမည်နှင့် function ကိုသတ်မှတ်နိုင်စွမ်းရှိပါတယ်။ သငျသညျမျိုးစုံဖြစ်ရပ်များကိုသတ်မှတ်နိုင်ပေမယ့်တစ်ဦးချင်းစီဖြစ်ရပ်တစ်ဦးတည်းသာ function ကိုညွှန်ပြနေသည်။

တဦးတည်း function ကိုမျိုးစုံစာမျက်နှာဒြပ်စင်များနှင့်အနည်းငယ်ဖြစ်ရပ်များကိုကိုင်တွယ်နိုင်ပါတယ်။ «ဒီ» option ကိုတဆင့်, သင်ကခေါ်တော်မူခဲ့သည်ရှိရာသတင်းအချက်အလက် function ကိုလွှဲပြောင်းပေးနိုင်သည်။

JS-functions တွေ၏ဂန္အသုံးပြုမှု - ဒြပ်စင်ပေါ်တွင်ဖြစ်ရပ်ကိုင်တွယ်။ ဒီဥပမာမှာ scfWecomeGo () function ကိုသို့မဟုတ် scfWelcomeCancel (စ) ဧည့်သည်များ၏ input ကို / output ကို form မှာကိုခေါ်ပြီးလျှင်, လုပ်ငန်းလည်ပတ် mode ကို scfMenuItemClick (ဒီ) ကိုရွေးချယ်ခြင်းဖြစ်ပါတယ်။

အဆုံးစွန်သောအမှု၌, parameter သည်ကိုသင်အံ့ဖှယျနညျး diva ဟုခေါ်တွင်ခဲ့သည်ဘာကနေသင်ယူဖို့ခွင့်ပြုထားတဲ့«ဒီ»ကူးမြောက်။ တကယ်တော့ JavaScript ကိုဒါသှေးပု DOM ထဲထညျ့သည်, ဒါအဆင်ပြေသင်စာမကျြနှာဒိုင်းနမစ်ရိုးရှင်းစွာခန့်မှန်းရခက်စေနိုင်ပါတယ်သောလိုအပ်သောသတင်းအချက်အလက်စုဆောင်းရန်၎င်း၏ဒြပ်စင်သွားလာခွင့်ပြုသည်။

အဆိုပါ function ကိုတစ်ဦး string ကို, အရေအတွက်, သို့မဟုတ်အခြား function ကိုပြန်သွားဖို့မရှိပါ။ ဒါဟာအပြည့်အဝက HTML-element ကပြန် လာ. , အရာကသူတို့ကိုင်တွယ်သူတို့၏ဖြစ်ရပ်များနှင့်အတူဒြပ်စင်၏လိုအပ်သောအရေအတွက်ဖြစ်ပါတယ်နိုင်ပါတယ်။

စာမကျြနှာပျေါမှာ Element တစ်ခုရဲ့အားမရခြင်းအားဖြင့်, ဆော့ဖ်ဝဲရေးသားသူပြဿနာကိုဖြေရှင်းရေးနှင့်ဧည့်သည်များများ၏အကျိုးစီးပွားနှင့်တွေ့ဆုံရန်၏စည်းကမ်းချက်များ၌ကောင်းသောကြောင်းအသစ်တခုလုပ်ဆောင်နိုင်စွမ်းကိုဖန်တီးပေးပေမယ့်အကောင်အထည်ဖော်မှု၏စည်းကမ်းချက်များ၌အတော်လေးခက်ခဲ။

ထိုကဲ့သို့သောအပြည့်အဝ functional ဖြစ်စေ၏ဖွံ့ဖြိုးတိုးတက်မှုကတည်းကဇာတိကုဒ်အတွက်ဆုံးရှုံးခဲ့ရရရန်မလွယ်ကူ, function ကိုဖွဲ့စည်းသည့်အခါအချိန်လေးအတွက်ခေါ်ဆိုသို့မဟုတ်တစ်ဦးသို့မဟုတ်စာမျက်နှာ၏အခြားများ၏ content ပါ။ ဖွံ့ဖြိုးတိုးတက်မှု၏ထိုကဲ့သို့သောလမျးညှနျခယူပြီးမီ, ရေတွင်းတစ်တွင်းအရာရာကိုချိန်ဆီးတားဘူး။

စဉ်းစားတွေးခေါ်၏ဖြန့်ဖြူးတွင်

အဆိုပါဆော့ဖ်ဝဲရေးသူအားလုံးဖြစ်ရပ်များမှာစာမျက်နှာအားလုံးဒြပ်စင်များ၏အဆင့်မှာထင်နှင့်အရာခပ်သိမ်းကိုအမှန်တကယ်ဖြစ်ပျက်ပုံကိုတစ်ဦးရှင်းရှင်းလင်းလင်းတင်ဆက်မှုရှိသည်ဖို့ရှိပါတယ်။ ဒါဟာခက်ခဲသည်, သို့သော်အလုပ်ကကျိုးနပ်သည်။

JavaScript ကိုမှာ function ကိုအချို့သောဖြစ်ရပ်သည်အထိနှောင့်နှေးစေခြင်းငှါ, ဒီလို features တွေအများအပြားဖြစ်စေခြင်းငှါ, ဖြစ်ရပ်များပျံ့နှံ့ခြင်းနှင့်အမျိုးမျိုးသောပရိုဆက်ဆာ၏ "မြင်ကွင်း၏နယ်ပယ်" သို့ရမယ့်စိတ်သဘောထားရှိသည်။

ဒီဥပမာထဲမှာ, တစ်နေရာရာမှာ function ကိုတစ်ဦးကို item ဖိုင်အညွှန်း menu ကိုအစပျိုးပေးသောခေါ်ခင်။ ဒါဟာ window တွင်ဖယ်ရှားခြင်းနှင့်လုပ်ငန်းများ၌နိုင်သည့်ရုံခုနစ်ခုဖိုင်များ, ကြောင်းကိုစာမျက်နှာများ, ယူဆနေသည်။ အတန်းပေါ်နှိပ်ခြင်းအားဖြင့်တစ်ဖိုင်, ခုနစ်တန်းများ၏မြှားသော့နှင့်လုပ်ကွက်အဖြစ်ပြောင်းရွေ့နိုင်ပါတယ်။

တစ်ခုချင်းစီကိုအမှု၌၎င်း၏ကိုယ်ပိုင် function ကိုရှိပါတယ်။ တနည်းအားဖြင့်ဒီရိုးရှင်းတဲ့ဥပမာထဲမှာ, သငျသညျအမြိုးမြိုးသောဖြစ်ရပ်များမှတုံ့ပြန်မည်, ဤလုပ်ဆောင်ချက်များကိုအချို့ဖြစ်ရပ်များပိုင်မ options နဲ့အခြေအနေများအမျိုးမျိုးကိုကိုင်တွယ်လိမ့်မည်ဟု features တွေများစွာ၏စုံတွဲတစ်တွဲကိုရေးသားဖို့လိုအပ်ပါတယ်။

ဥပမာအားဖြင့်, အောက်ခြေလိုင်းမဖယ်ရှားသည့်အခါ upwardly အိုးအိမ်မဲ့ရမည်ဖြစ်သည်။ ဤသည်ဖြစ်စေလိုအပ် commonplace အသစ်တစ်ခုရွေးချယ်ရေးနှင့်ရှင်းလင်းစွာတဲ့ resource စေ, သို့မဟုတ်, လိုင်းများရေတွက်ယင်းစစ်ခင်းကျင်းအပေါ်တစ်ဦး javascript function ကိုသုံးပါနှင့်ရည်မှန်းချက်ကြော့အောင်မြင်ရန်ဖို့ပါလိမ့်မယ်။

လုပ်ငန်းဆောင်တာများ၏ငြင်းခုံခြင်းနှင့်ရလဒ်များကို

JavaScript ကိုသငျသညျမှာ "Full-featured" status ကိုမှကုဒ်ရောက်စေဖို့ခွင့်ပြုပါတယ်။ ပုံမှန်အားဖြင့်အခါ function ကို၏အငြင်းအခုံ function ကိုဖြစ်ပါတယ်။ option ကိုခွင့်ပြုခဲ့ခြင်း, function ကိုတစ်ဦး function ကိုပြန်လည်ရောက်ရှိ။ JavaScript ကိုအတော်လေးအေးဆေးတည်ငြိမ်စွာကကြာပါတယ်။

ဒါကအကောင်းတစ်ဦးယန္တရားဖြစ်တယ်, ဒါပေမဲ့အကောင်အထည်ဖော်ရေးစပ်လျဉ်းမဟုတ်ဘဲရှုပ်ထွေး။ နည်းပညာပိုင်းအခွင့်ဝေါဟာရအသုံးအနှုံးတစ်ခုသာအရည်အချင်းပြည့် developer က "functional ဖြစ်စေ" ယုတ္တိဗေဒဂီယာသည်။

တစ်ဦး function ကိုအတွက်တဲ့အခါမှာတစ်ဦး JavaScript ကို function ကို - အားလုံးညာဘက်ပေမယ့် function ကိုတစ်ဦး function ကိုထုတ်ပေးနှင့်အခြားကြောင်းသောအခါ, ယုတ္တိဗေဒကိုလိုက်နာဖို့အတော်လေးခက်ခဲသည်။ တကယ်တော့မေးခွန်းမေးခွန်းလုံခြုံပြီးမှန်ကန်သောရလဒ်ရရှိရန်ဖြစ်ပါသည်, ကျွမ်းကျင်မှုလျှောက်ထားရန်ရှိမရှိမဟုတ်ပါဘူး။

ရေးသားသူစောင့်ရှောက်မှုရှင်းရှင်းလင်းလင်းနဲ့ရိုးရှင်းပါသည်။ ပြဿနာတစ်ခုရှိပါတယ်, သငျသညျအဖြေတစ်ခုမဟုတ်ပါဘူး«စစ်ဆင်ရေးမလုံခြုံဖြစ်ပါတယ် JavaScript ကိုအမှား»ကဲ့သို့သော bug ကိုလိုအပ်တယ် , တစ်ဦးအလွတ်မျက်နှာပြင်, ဒါမှမဟုတ်အားလုံး browser ကိုအင်ဂျင်ကိုရပ်တန့်။

ယင်းငြင်းခုံနေတဲ့ function ကိုလိုလျှင်, ထို့နောက်ဆော့ဖ်ဝဲရေးအထူးဂုဏ်သတ္တိများနှင့်အတူတစ်ဦး variable ကိုရှောက်သွားသောနံပါတ်မဟုတ်ဘဲတစ်ဦး string ကို, မ object တစ်ခုမဟုတ်ပါဘူး။ သို့သော်ထိုကဲ့သို့သောအငြင်းအခုံများအသုံးပြုခြင်းပြင်ပ variable တွေကိုပြောင်းလဲပစ်နှင့် function ကိုသေဒဏ်စီရင်၏ရလဒ်ပင်ဖြစ်သည်ဟူသောအချက်ကိုဦးတည်သွားစေနိုင်ပါတယ်။ လွှဲပြောင်းလုံလောက်သောဖြစ်လတံ့သောအပြောင်းအလဲပေါ်မူတည်။

generated code တွေရဲ့ execution

အလုပ်ကတခြားကုဒ်ကို၏သင်တန်းတွင်ထုတ်ပေးကွပ်မျက်ကုဒ်အကောင်အထည်ဖေါ်ပါက« eval »အားဖွငျ့ဖြစ်နိုင်ပါတယ်။ ဒါဟာအလွန်အစွမ်းထက်တဲ့ဖြေရှင်းချက်ဖြစ်စဉ်းစားမထားဘူး, ဒါပေမယ့်မကြာခဏမလိုအပ်သောလုပ်ငန်းဆောင်တာတွေနဲ့ code ကိုရှုပ်ထွေးမဟုတ်နိုင်ပြီး, JavaScript ကိုကုဒ်၏အသေးအဖွဲလိုင်း၏ဖွဲ့စည်းခြင်းကန့်သတ်ခြင်းနှင့်ရိုးရိုးက execute ရန်။

ဒီဥပမာထဲမှာ, ထည့်သွင်းအော်ပရေတာ div သတင်းအချက်အလက်အချို့ကိုသို့ချုပ်ဖွဲ့စည်းသည်။ ကွဲပြားခြားနားသောရာထူး၏ကွဲပြားခြားနားသောအရေအတွက် Diva နှင့်သတင်းအချက်အလက်အကြောင်းအရာ, ဒီအခြေအနေမှာထိုကဲ့သို့သောဆုံးဖြတ်ချက်တစ်ခုအာမခံချက်အခွအေနေ« javascript အမှားစစ်ဆင်ရေးမလုံခြုံဖြစ်ပါတယ်»မပေးပါဘူးဘာဖြစ်လို့လဲဆိုတော့ , ဒါပေမယ့်ခိုင်မြဲစွာလိုချင်သောအကျိုးသက်ရောက်မှုပေးပါ။

မသိမသာကွဲပြား JavaScript ကိုပါရာဒိုင်းပြောင်းလဲမှု "ဟုအဆိုပါ function ကိုအတွက် function ကို"

သင်ရိုးရှင်းသောမပါဘဲလုပျနိုငျပါကအသုံးပြုရန် သာ. ကောင်း၏။ အဲဒီ options အားလုံးကောင်းပါတယ်။ ၏သင်တန်း, များစွာသောကိစ္စရပ်များတွင်ကသာဖြေရှင်းချက်ဖြစ်ပါသည်။

တဲ့ request တစ်ခုဂန္ဥပမာ: အ factorial ။ ထိုသို့လိမ့်မည်ကွင်းဆက်တစ်ခု algorithm ကိုရေးသားဖို့လုံလောကျခကျခဲသင်, ဒါပေမယ့်သူကသင်စာအိတ်တန်ဖိုးများကိုတွန်းအားပေးနိုင်, အလွန်ရိုးရှင်းပါသည်။ factorial လည်းမြန်ဆန်စွာကြီးထွားလာနေပါတယ်။

သာမန်အမှုအရာ - သို့သျော, request ကိုနှင့် function ကိုအသိပေးပြန်ခေါ်စေနိုင်သည့်အခြား function ကို, တောင်းဆိုထားသည်။

ဥပမာအားဖြင့်, ပုံမှန်စားပွဲ။ အခြားစားပွဲစားပွဲတစ်ခုဖြစ်နိုင်ပါသည်။ အသိုက်ကန့်သတ်ရနိုင်မှာမဟုတ်ဘူး။ သိပ်ဇိမ်ခံ - တစ်ဦးချင်းစီစားပွဲများအတွက်အင်္ဂါရပ်များ၎င်း၏ကိုယ်ပိုင် set ကိုရေးပါ။

ထိုသို့သောဥပမာမြောက်မြားစွာဖြစ်ကြသည်ကို၎င်း, ဤအမှုအလုံးစုံတို့ကိုမဟုတ်ဘာလို့လဲဆိုတော့ပရိုဂရမ်းမင်း၏တစ်ဦးကိုမှန်ကန်ဖိအားများသောပြဿနာဖြစ်လိမ့်မည်။ ထိုပြဿနာကိုအဘယ်သူမျှမရိုးရှင်းသောလုပ်ဆောင်ချက်များကို၏စနစ်တစ်ခုထူထောင်ကြဘူး, ပိုမိုတိကျစွာ၎င်း၏ဒီဘာဂင်နှင့်နောက်ဆက်တွဲယုံကြည်စိတ်ချရသောစစ်ဆင်ရေး JavaScript ကိုပြုစုစောင့်ရှောက်မှုနှင့်ရေးသားသူဖြစ်လာဆိုတဲ့အချက်ကိုတည်ရှိသည်ဒါကြောင့်ဖြစ်ပါသည်။

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 my.birmiss.com. Theme powered by WordPress.