JS ကျူတိုရီရယ်

JS ပင်မ JS မိတ်ဆက် JS ဘယ်သွားမလဲ။ JS Output JS ထုတ်ပြန်ချက် JS Syntax JS မှတ်ချက်များ JS အပြောင်းအလဲများ JS Let JS Const JS အော်ပရေတာများ JS ဂဏန်းသင်္ချာ JS တာဝန် JS ဒေတာအမျိုးအစားများ JS လုပ်ဆောင်ချက်များ JS အရာဝတ္ထုများ JS ပွဲများ JS စာတန်းများ JS စာတန်းနည်းလမ်းများ JS စာတန်းရှာဖွေမှု JS String Templates JS နံပါတ်များ JS နံပါတ်နည်းလမ်းများ JS Arrays JS Array Methods JS Array အမျိုးအစား JS Array Iteration JS Array Const JS ရက်စွဲများ JS ရက်စွဲပုံစံများ JS နေ့စွဲ နည်းလမ်းများ ရယူပါ။ JS ရက်စွဲ သတ်မှတ်နည်းလမ်းများ JS သင်္ချာ JS Random JS Booleans JS နှိုင်းယှဉ်မှုများ JS အခြေအနေများ JS Switch JS Loop For JS Loop For In JS Loop For Of JS Loop While JS Break JS Iterables JS အစုံများ JS Maps JS အမျိုးအစား JS အမျိုးအစား ပြောင်းခြင်း။ JS Bitwise JS RegExp JS အမှားများ JS နယ်ပယ် JS Hoisting JS တင်းကျပ်သောမုဒ် JS ဒီ Keyword ပါ။ JS Arrow Function JS သင်တန်းများ JS JSON JS Debugging JS စတိုင်လမ်းညွှန် JS အကောင်းဆုံးအလေ့အကျင့်များ JS အမှားများ JS စွမ်းဆောင်ရည် JS သီးသန့်စကားလုံးများ

JS ဗားရှင်းများ

JS ဗားရှင်းများ JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS သမိုင်း

JS အရာဝတ္ထုများ

Object အဓိပ္ပါယ်ဖွင့်ဆိုချက် Object Properties များ အရာဝတ္ထုနည်းလမ်းများ အရာဝတ္ထုပြသခြင်း။ အရာဝတ္ထု ဆက်စပ်ပစ္စည်းများ Object Constructors များ Object Prototypes Object Iterables အရာဝတ္ထုအစုံများ အရာဝတ္ထုမြေပုံများ Object ကိုးကား

JS လုပ်ဆောင်ချက်များ

လုပ်ဆောင်ချက် အဓိပ္ပါယ်ဖွင့်ဆိုချက် လုပ်ဆောင်ချက် ကန့်သတ်ချက်များ Function Invocation လုပ်ဆောင်ချက်ခေါ်ဆိုမှု လုပ်ဆောင်ချက်ကို အသုံးပြုပါ။ Function ပိတ်ခြင်းများ

JS သင်တန်းများ

အတန်းမိတ်ဆက် Class Inheritance အတန်းထဲမှာလည်း

JS Async

JS ပြန်ခေါ်မှုများ JS Asynchronous JS ကတိများ JS Async/Await

JS HTML DOM

DOM မိတ်ဆက် DOM နည်းလမ်းများ DOM စာရွက်စာတမ်း DOM ဒြပ်စင်များ DOM HTML DOM ပုံစံများ DOM CSS DOM အန်နီမေးရှင်းများ DOM ပွဲများ DOM ဖြစ်ရပ် နားထောင်သူ DOM လမ်းညွှန် DOM Nodes DOM စုစည်းမှုများ DOM Node စာရင်းများ

JS Browser BOM

JS Window JS မျက်နှာပြင် JS တည်နေရာ JS သမိုင်း JS Navigator JS Popup သတိပေးချက် JS Timing JS Cookies

JS ဝဘ် API များ

ဝဘ် API မိတ်ဆက် ဝဘ်ဖောင် API ဝဘ်သမိုင်း API ဝဘ်သိုလှောင်မှု API Web Worker API Web Fetch API ဝဘ် Geolocation API

JS AJAX

AJAX နိဒါန်း AJAX XMLHttp AJAX တောင်းဆိုချက် AJAX တုံ့ပြန်မှု AJAX XML ဖိုင် AJAX PHP AJAX ASP AJAX ဒေတာဘေ့စ် AJAX အပလီကေးရှင်းများ AJAX ဥပမာများ

JS JSON

JSON မိတ်ဆက် JSON Syntax JSON နှင့် XML JSON ဒေတာအမျိုးအစားများ JSON Parse JSON Stringify JSON အရာဝတ္ထုများ JSON Arrays JSON ဆာဗာ JSON PHP JSON HTML JSON JSONP

JS နှင့် jQuery

jQuery ရွေးချယ်မှုများ jQuery HTML jQuery CSS jQuery DOM

JS ဂရပ်ဖစ်

JS ဂရပ်ဖစ် JS Canvas JS Plotly JS Chart.js JS Google Chart JS D3.js

JS ဥပမာများ

JS ဥပမာများ JS HTML DOM JS HTML ထည့်သွင်းမှု JS HTML Objects JS HTML ပွဲများ JS Browser JS တည်းဖြတ်သူ JS လေ့ကျင့်ခန်းများ JS Quiz JS လက်မှတ်

JS ကိုးကားချက်များ

JavaScript Objects HTML DOM အရာဝတ္ထုများ


JavaScript အမှားများ


ပစ်၊ စမ်း... ဖမ်း... နောက်ဆုံး

အဆိုပါ tryထုတ်ပြန်ချက်တွင် run (ကြိုးစားရန်) ကုဒ်ပိတ်ဆို့ခြင်းကိုသတ်မှတ်သည်။

ထုတ်ပြန်ချက် catchသည် အမှားအယွင်းမှန်သမျှကို ကိုင်တွယ်ရန် ကုဒ်ပိတ်ဆို့ခြင်းကို သတ်မှတ်သည်။

ထုတ်ပြန်ချက် finallyသည် ရလဒ်မည်သို့ပင်ဖြစ်စေ လုပ်ဆောင်ရန် ကုဒ်ပိတ်ဆို့ခြင်းကို သတ်မှတ်သည်။

ထုတ်ပြန်ချက်တွင် throwစိတ်ကြိုက်အမှားကို သတ်မှတ်သည်။


အမှားများ ကြုံမည်။

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

အမှားများသည် ပရိုဂရမ်မာမှ ပြုလုပ်သော ကုဒ်ရေးခြင်းဆိုင်ရာ အမှားများ၊ မှားယွင်းသော ထည့်သွင်းမှုကြောင့် အမှားအယွင်းများနှင့် အခြားသော မှန်းဆ၍မရသော အရာများ ဖြစ်နိုင်သည်။

ဥပမာ

ဤဥပမာတွင် ကျွန်ုပ်တို့သည် အမှားတစ်ခုကို တမင်တကာ ဖန်တီးရန် "သတိပေးချက်" ကို "adddlert" ဟု စာလုံးပေါင်းမှားသည်-

<p id="demo"></p>

<script>
try {
  adddlert("Welcome guest!");
}
catch(err) {
  document.getElementById("demo").innerHTML = err.message;
}
</script>

JavaScript သည် adddler ကို အမှားတစ်ခုအဖြစ် ဖမ်းယူပြီး ၎င်းကိုကိုင်တွယ်ရန် catch code ကို လုပ်ဆောင်သည်။


JavaScript ကို ကြိုးစားပြီး ဖမ်းပါ။

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

catchtry block တွင် အမှားအယွင်းတစ်ခု ဖြစ်ပေါ်ပါက လုပ်ဆောင်ရန် ကုဒ်တစ်ခုအား သတ်မှတ်ဖော်ပြချက်သည် သင့်အား သတ်မှတ်ခွင့်ပြုသည်

JavaScript ထုတ်ပြန်ချက်များ tryနှင့် catch အတွဲလိုက် ပေါ်လာသည်-

try {
  Block of code to try
}
catch(err) {
  Block of code to handle errors
}


JavaScript သည် အမှားများကို လွှင့်ပစ်သည်။

error တစ်ခုဖြစ်ပွားသောအခါ၊ JavaScript သည် ပုံမှန်အားဖြင့် ရပ်သွားပြီး error message ကိုထုတ်ပေးလိမ့်မည်။

ဤအရာအတွက် နည်းပညာဆိုင်ရာ အသုံးအနှုန်းမှာ- JavaScript သည် ခြွင်းချက်တစ်ခု (အမှားတစ်ခုကို လွှင့်ပစ်သည်)

JavaScript သည် ဂုဏ်သတ္တိ နှစ်ခုပါရှိသော Error object တစ်ခုကို ဖန်တီးပေးမည် ဖြစ်သည်- အမည် နှင့် မက်ဆေ့ချ်


အရှင်သာရိပုတ္တရာ ထုတ်ပြန်ချက်

အဆိုပါ throwထုတ်ပြန်ချက်သည် သင့်အား စိတ်ကြိုက်အမှားတစ်ခုဖန်တီးနိုင်စေပါသည်။

နည်းပညာအရ သင်သည် ခြွင်းချက်တစ်ခု (အမှားတစ်ခုကို လွှင့်ပစ်) နိုင်သည်။

ခြွင်းချက်မှာ JavaScript String၊ a Number၊ a Booleanသို့မဟုတ် တစ်ခု ဖြစ်နိုင်သည် Object

throw "Too big";    // throw a text
throw 500;          // throw a number

အကယ်၍ သင်သည် နှင့် တွဲသုံးပါက throwသင်သည် ပရိုဂရမ်စီးဆင်းမှုကို ထိန်းချုပ်နိုင်ပြီး စိတ်ကြိုက် အမှားမက်ဆေ့ချ်များကို ဖန်တီးနိုင်သည်။trycatch


ထည့်သွင်းအတည်ပြုခြင်း ဥပမာ

ဤဥပမာသည် ထည့်သွင်းမှုကို ဆန်းစစ်သည်။ တန်ဖိုး မှားပါက ခြွင်းချက် (err) ကို ချပစ်လိုက်သည်။

ခြွင်းချက် (err) ကို catch statement မှဖမ်းမိပြီး စိတ်ကြိုက် error message ကို ပြသသည်-

<!DOCTYPE html>
<html>
<body>

<p>Please input a number between 5 and 10:</p>

<input id="demo" type="text">
<button type="button" onclick="myFunction()">Test Input</button>
<p id="p01"></p>

<script>
function myFunction() {
  const message = document.getElementById("p01");
  message.innerHTML = "";
  let x = document.getElementById("demo").value;
  try {
    if(x == "") throw "empty";
    if(isNaN(x)) throw "not a number";
    x = Number(x);
    if(x < 5) throw "too low";
    if(x > 10) throw "too high";
  }
  catch(err) {
    message.innerHTML = "Input is " + err;
  }
}
</script>

</body>
</html>

HTML အတည်ပြုခြင်း

အထက်ပါ code သည် ဥပမာတစ်ခုမျှသာဖြစ်သည်။

ခေတ်မီဘရောက်ဆာများသည် HTML ရည်ညွှန်းချက်များတွင် သတ်မှတ်ထားသော ကြိုတင်သတ်မှတ်ထားသော တရားဝင်အတည်ပြုခြင်းစည်းမျဉ်းများကို အသုံးပြု၍ JavaScript နှင့် built-in HTML validation တို့ကို ပေါင်းစပ်အသုံးပြုလေ့ရှိသည်-

<input id="demo" type="number" min="5" max="10" step="1">

ဤသင်ခန်းစာ၏ နောက်ပိုင်းအခန်းတွင် ဖောင်များအတည်ပြုခြင်းအကြောင်း ပိုမိုဖတ်ရှုနိုင်ပါသည်။


နောက်ဆုံးထုတ်ပြန်ချက်

အဆိုပါ finallyထုတ်ပြန်ချက်တွင်ရလဒ်မည်သို့ပင်ဖြစ်စေကြိုးစားဖမ်းပြီးနောက်၊ ကုဒ်ကိုလုပ်ဆောင်နိုင်သည်-

အထားအသို

try {
  Block of code to try
}
catch(err) {
  Block of code to handle errors
}
finally {
  Block of code to be executed regardless of the try / catch result
}

ဥပမာ

function myFunction() {
  const message = document.getElementById("p01");
  message.innerHTML = "";
  let x = document.getElementById("demo").value;
  try {
    if(x == "") throw "is empty";
    if(isNaN(x)) throw "is not a number";
    x = Number(x);
    if(x > 10) throw "is too high";
    if(x < 5) throw "is too low";
  }
  catch(err) {
    message.innerHTML = "Error: " + err + ".";
  }
  finally {
    document.getElementById("demo").value = "";
  }
}

Error Object ပါ။

JavaScript တွင် error တစ်ခုဖြစ်လာသောအခါတွင် error information ကိုပေးဆောင်သော built in error object တစ်ခုရှိသည်။

error object သည် အသုံးဝင်သော ဂုဏ်သတ္တိနှစ်ခုကို ပေးဆောင်သည်- အမည်နှင့် မက်ဆေ့ချ်။


Object Properties အမှား

ပစ္စည်းဥစ္စာဖော်ပြချက်
နာမည်အမှားအမည်တစ်ခု သတ်မှတ်ခြင်း သို့မဟုတ် ပြန်ပေးသည်။
သတင်းစကားအမှားအယွင်း မက်ဆေ့ချ် (စာကြောင်းတစ်ခု) သတ်မှတ်ခြင်း သို့မဟုတ် ပြန်ပေးသည်

အမှားအမည်တန်ဖိုးများ

အမှားအမည် ပိုင်ဆိုင်မှုဖြင့် မတူညီသော တန်ဖိုးခြောက်ခုကို ပြန်ပေးနိုင်ပါသည်။

အမှားအမည်ဖော်ပြချက်
EvalErroreval() လုပ်ဆောင်ချက်တွင် အမှားအယွင်းတစ်ခု ဖြစ်ပေါ်ခဲ့သည်။
RangeErrorနံပါတ်တစ်ခု "အပိုင်းအခြား" ဖြစ်သွားသည်။
အကိုးအကားအမှားတရားမဝင်ကိုးကားမှုတစ်ခု ဖြစ်ပွားခဲ့သည်။
SyntaxErrorအထားအသို အမှားတစ်ခု ဖြစ်ပွားခဲ့သည်။
စာရိုက်အမှားအမျိုးအစား အမှားတစ်ခု ဖြစ်ပွားခဲ့သည်။
URI အမှားencodeURI() တွင် အမှားအယွင်းတစ်ခု ဖြစ်ပေါ်ခဲ့သည်။

မတူညီသောတန်ဖိုးခြောက်ခုကို အောက်တွင်ဖော်ပြထားပါသည်။


Eval အမှား

EvalErroreval() လုပ်ဆောင်ချက်တွင် အမှားအယွင်း တစ်ခုကို ညွှန်ပြသည်။

JavaScript ၏အသစ်ထွက်ဗားရှင်းများသည် EvalError ကိုမစွန့်ပစ်ပါ။ ၎င်းအစား SyntaxError ကိုသုံးပါ။


အပိုင်းအခြားအမှား

RangeErrorတရား၀င်တန်ဖိုးများအကွာအဝေးပြင်ပရှိ နံပါတ်တစ်ခုကို သင်အသုံးပြုပါက A သည် လွှတ်တင်မည်ဖြစ်သည်။

ဥပမာ- ဂဏန်းတစ်ခု၏ သိသာထင်ရှားသောဂဏန်းအရေအတွက်ကို 500 သို့ သင်မသတ်မှတ်နိုင်ပါ။

ဥပမာ

let num = 1;
try {
  num.toPrecision(500);   // A number cannot have 500 significant digits
}
catch(err) {
  document.getElementById("demo").innerHTML = err.name;
}

အကိုးအကားအမှား

ReferenceErrorမကြေငြာရသေးသော variable (ကိုးကား) ကိုအသုံးပြုပါက A ကို လွှတ်ချလိုက်သည် ။

ဥပမာ

let x = 5;
try {
  x = y + 1;   // y cannot be used (referenced)
}
catch(err) {
  document.getElementById("demo").innerHTML = err.name;
}

Syntax အမှား

SyntaxErrorအ ထားအသိုအမှားအယွင်းဖြင့် ကုဒ်ကို အကဲဖြတ်ရန် ကြိုးစားပါက A သည် လွှတ်တင်မည်ဖြစ်သည်။

ဥပမာ

try {
  eval("alert('Hello)");   // Missing ' will produce an error
}
catch(err) {
  document.getElementById("demo").innerHTML = err.name;
}

Error ရိုက်ပါ။

TypeErrorမျှော်လင့်ထားသောအမျိုးအစားများ၏အကွာအဝေးအပြင်ဘက်ရှိတန်ဖိုးကိုသင်အသုံးပြုပါက A ကိုပစ်သည်-

ဥပမာ

let num = 1;
try {
  num.toUpperCase();   // You cannot convert a number to upper case
}
catch(err) {
  document.getElementById("demo").innerHTML = err.name;
}

URI (Uniform Resource Identifier) ​​အမှား

URIErrorURI လုပ်ဆောင်ချက်တွင် တရားမဝင်သော စာလုံးများကို သင်အသုံးပြုပါက A ကို ဖယ်ရှားသည်-

ဥပမာ

try {
  decodeURI("%%%");   // You cannot URI decode percent signs
}
catch(err) {
  document.getElementById("demo").innerHTML = err.name;
}

Standard မဟုတ်သော Error Object Properties

Mozilla နှင့် Microsoft တို့က စံမဟုတ်သော အမှားအယွင်းအရာဝတ္ထုအချို့ကို သတ်မှတ်ဖော်ပြသည်-

ဖိုင်အမည် (Mozilla)
လိုင်းနံပါတ် (Mozilla)
ကော်လံနံပါတ် (Mozilla)
stack (Mozilla)
ဖော်ပြချက် (Microsoft)
နံပါတ် (Microsoft)

အများသူငှာ ဝဘ်ဆိုက်များတွင် ဤဂုဏ်သတ္တိများကို မသုံးပါနှင့်။ ၎င်းတို့သည် browser အားလုံးတွင်အလုပ်လုပ်မည်မဟုတ်ပါ။


အမှားအယွင်း ကိုးကားချက် အပြီးသတ်ပါ။

Error object ၏ အပြည့်အစုံကိုးကားရန်အတွက်၊ ကျွန်ုပ်တို့၏ Complete JavaScript Error Reference သို့ သွားပါ ။