ဂျပ်တိုး အမှား
- အရင်လမ်း JS အကောင်းဆုံး လိုက်နာ
- နောက်လမ်း JS လက်ရှိ
ဒီလုံးတွင် အများဆုံး အမှားများ ကို ကြည့်ပါ
မငြင်းပေါ်သည်
ပုဂ္ဂိုလ်ကြီး if
အင်တိုက် အသုံးပြုခြင်း တွင် မငြင်းပေါ်သည်=
)ကို အတူတူ နှင့် သဘောတူ အတူတူ အရင်းအမြစ် အကြောင်း=====
),JavaScript ပရိုဂရမ် အတွက် မငြင်းပေါ်သော ရလဒ်များ ပေါ်ပေါက်နိုင်ပါ
အကြောင်း if
အင်တိုက် အသုံးပြုခြင်း ပြန်လည်ကြေညာသည် false
(အလို့ငှာ မမှန်ပါ)သည် x သည် 10 မဟုတ်သောကြောင့်
var x = 0; if (x == 10)
အကြောင်း if
အင်တိုက် အသုံးပြုခြင်း ပြန်လည်ကြေညာသည် true
(အလို့ငှာ မမှန်ပါ)သည် 10 သည် true ဖြစ်သောကြောင့်
var x = 0; if (x = 10)
အကြောင်း if
အင်တိုက် အသုံးပြုခြင်း ပြန်လည်ကြေညာသည် false
(အလို့ငှာ မမှန်ပါ)သည် 0 သည် false ဖြစ်သောကြောင့်
var x = 0; if (x = 0)
လက်ခံထားခြင်း သည် လက်ခံထားသော အရင်းအမြစ် ကို ပြန်လည်ကြေညာသည်
များသော အတူတူ စုံစမ်းမှု
အရင်းအမြစ် အတူတူသည် အရင်းအမြစ် အကြောင်း if
အင်တိုက် အသုံးပြုခြင်း ပြန်လည်ကြေညာသည် true
:
var x = 10; var y = "10"; if (x == y)
အရင်းအမြစ် တူညီသည် သို့မဟုတ် မတူညီသည် အရင်းအမြစ် အကြောင်း if
အင်တိုက် အသုံးပြုခြင်း ပြန်လည်ကြေညာသည် false
:
var x = 10; var y = "10"; if (x === y)
အမှားနှစ်ခုတွင် အရင်းအမြစ် ကို မသိခဲ့ပါ switch
အင်တိုက် အသုံးပြုခြင်း
အကြောင်း switch
အင်တိုက် ပြသသည်
var x = 10; switch(x) { case 10: alert("Hello"); }
အကြောင်း switch
အင်တိုက် ပြသသည်မပြောင်းလဲသည်
var x = 10; switch(x) { case "10": alert("Hello"); }
စက္ခု ပေါင်းထား နှင့် ဆက်ကြည့်ခြင်း
ပေါင်းထားအသုံးပြု၍စက္ခု။
ဆက်ကြည့်ခြင်းအသုံးပြု၍စက္ခု။
ဂျပန်စကားအရင်းအမြစ်တွင် ဒါများသည် တူညီသော +
တုံ့ပြန်သူ
ထို့ကြောင့် စက္ခု အသုံးပြု၍ ပေါင်းထားလျှင် နှင့် စက္ခု အသုံးပြု၍ ပေါင်းထားလျှင် ရလဒ်သည် မတူညီပေ
var x = 10 + 5; // x တွင် ရလဒ်သည် 15 ဖြစ်သည် var x = 10 + "5"; // x တွင် ရလဒ်သည် "105" ဖြစ်သည်
အခါတစ်ခါ နှစ်ခုစလုံး ပေါင်းထားလျှင် ရလဒ်ကို ခန့်မှန်းချင်း မရှိသည်
var x = 10; var y = 5; var z = x + y; // z တွင် ရလဒ်သည် 15 ဖြစ်သည် var x = 10; var y = "5"; var z = x + y; // z တွင် ရလဒ်သည် "105" ဖြစ်သည်
ကွဲပြားသော ရောင်ခြည်
ဂျပန်စကားအရင်းအမြစ်တွင် နေရာများသည် 64 ပုံတန်း ပေါ်တွင် သတင်းကို ကျန်ထားသည်浮点数(Floats)။
所有编程语言,包括 JavaScript,都存在处理浮点值的困难:
var x = 0.1; var y = 0.2; var z = x + y // z 中的结果并不是 0.3
为了解决上面的问题,请使用乘除运算:
အမှတ်အသား
var z = (x * 10 + y * 10) / 10; // z 中的结果将是 0.3
对 JavaScript 字符串换行
JavaScript 允许您把一条语句换行为两行:
အမှတ် 1
var x = "Hello World!";
但是,在字符串中间来换行是不对的:
အမှတ် 2
var x = "Hello World!";
如果必须在字符串中换行,则必须使用反斜杠:
အမှတ် 3
var x = "Hello \ World!";
return ဖော်ပြချက် ကို အပတ်လည်း ပြောင်းလဲစေခြင်း
အဆိုပါ ဖော်ပြချက် က အပတ်လည်း ပြောင်းလဲစေခြင်း ဖြင့် အခြေအနေ ဖြစ်သည်
အဆိုပါ အခြေအနေ ကြောင့် အဆိုပါ အမှတ် 1 နှင့် အမှတ် 2 ပုံမှာ အတူ အကြောင်းအရာ ပြန်လည် ပြောင်းလဲစေခြင်း ဖြင့် ပြန်လည် ပြောင်းလဲစေသည်
အမှတ် 1
function myFunction(a) { var power = 10 return a * power }
အမှတ် 2
function myFunction(a) { var power = 10; return a * power; }
JavaScript က ဖော်ပြချက် ကို အပတ်လည်း ပြောင်းလဲစေခြင်း ကို ခွင့်ပြုသည်
အဆိုပါ အခြေအနေ ကြောင့် အဆိုပါ အမှတ် 3 က လည်း အတူ အကြောင်းအရာ ပြန်လည် ပြောင်းလဲစေခြင်း ဖြင့် ပြန်လည် ပြောင်းလဲစေသည်
အမှတ် 3
function myFunction(a) { var power = 10; return a * power; }
သို့သော် အဆိုပါ return
ဖော်ပြချက် ကို အပတ်လည်း ပြောင်းလဲသည် အခြေအနေ ဖြစ်သည်
အမှတ် 4
function myFunction(a) { var power = 10; return a * power; }
အဆိုပါ ဖော်ပြချက် က ပြန်လည် ပြောင်းလဲစေခြင်း ဖြင့် ပြန်လည် ပြောင်းလဲစေသည် undefined
!
အဆိုပါ အခြေအနေ ကြောင့် ဖြစ်သည်။ သို့သော် JavaScript က သင့် ဖြစ်သော အခြေအနေ ကို
အမှတ် 5
function myFunction(a) { var power = 10; return; a * power; }
ဖော်ပြ
အဆိုပါ ဖော်ပြချက် က အပတ်လည်း မပြောင်းလဲသေးသည်
var
JavaScript က အဆိုပါ ဖော်ပြချက် ကို နောက်ပိုင်းလောင်း တွင် ဖြစ်ပေါ်လာစေခြင်း ဖြင့် ဖော်ပြချက် ကို ပြောင်းလဲစေသည်
power = 10;
သို့သော် အဆိုပါ ဖော်ပြချက် က ပြောင်းလဲသော ဖော်ပြချက် ဖြစ်သည်
return
JavaScript က အဆိုပါ ဖော်ပြချက် ကို အပတ်လည်း ပြောင်းလဲစေခြင်း ဖြင့် ဖော်ပြချက် ကို ပိတ်စေသည်
return;
အဆိုပါ အခြေအနေ ဖြစ်ပေါ်လာခြင်း ကြောင့် ဖြစ်သည်။ သို့သော် အဆိုပါ JavaScript တွင် ဖော်ပြချက် ကို ပိတ်စေခြင်း အားဖြင့် ဖော်ပြချက် ကို ပိတ်စေခြင်း မပြောင်းလဲစေရန်
JavaScript က နောက်ပိုင်းလောင်း တွင် အပတ်လည်း ပြောင်းလဲသည် return
ဖော်ပြချက် ကို ပြောင်းလဲစေရန် မပြောင်းလဲစေရန် အဆိုပါ ဖော်ပြချက် ကို ပြောင်းလဲစေရန်
ထို့ကြောင့် အဆိုပါ ဖော်ပြချက် ကို မပြောင်းလဲစေရန် မပြောင်းလဲစေရန် return
ဖော်ပြချက် အပတ်လည်း ပြောင်းလဲသည်
ကို အမှတ်စက္ခု အားဖြင့် အော်ဂန်း ကို ဝင်ရောက်သုံးနိုင်သည်
很多编程语言支持带有命名索引的数组。
အမည်ဖြင့် အစားပြုအရာများ ပါဝင်သော စကေးကြားအုပ် သည် ယူကျင် အစားပြုအရာများ (သို့မဟုတ် အကြီးအကျယ်) ဟု ခေါ်ဆိုပါသည်
ဟော်ဒီ လုပ်ဆောင်ခြင်း မပါအမည်ဖြင့် အစားပြုအရာများ ပါဝင်သော စကေးကြားအုပ်
JavaScript တွင်စကေးကြားအုပ်သုံးပြီးနှစ်ခုတန်းအစား:
အမှတ်အသား
var person = []; person[0] = "Bill"; person[1] = "Gates"; person[2] = 46; var x = person.length; // person.length သည် 3 ပါဝင်လာပါသည် var y = person[0]; // person[0] သည် "Bill" ပါဝင်လာပါသည်
JavaScript တွင်ကိုယ်စားပြုသူသုံးပြီးအမည်ဖြင့် အစားပြုအရာများ။
အမည်ဖြင့် အစားပြုအရာများ သုံးလျှင် စကေးကြားအုပ် ကို ဖြတ်သန့် အစားပြုသည့်အတွက် JavaScript သည် စကေးကြားအုပ် ကို အခြေခံ ကိုယ်စားပြုသူ အဖြစ် အတည်ပြုလိမ့်မည်
အဆက်မပြတ် အစားပြုအရာများ ပြီးနောက် စကေးကြားအုပ် စနစ်များ သို့မဟုတ် အချက်အလက် အတွက် အပျက်အစီး သို့မဟုတ် အမှန်ကန်သော ရလဒ် ပေါ်ပေါက်လာပါသည်:
အမှတ်အသား
var person = []; person["firstName"] = "Bill"; person["lastName"] = "Gates"; person["age"] = 46; var x = person.length; // person.length သည် 0 ပါဝင်လာပါသည် var y = person[0]; // person[0] သည် undefined ပါဝင်လာပါသည်
အစားပြုအရာများ အတွက် ကြားချိန်း ကို အဆုံးဖြတ်သည်
ECMAScript 5 တွင် ကိုယ်စားပြုသူ နှင့် စကေးကြားအုပ် အစားပြုအရာများ အတွက် နောက်ပါးဘက် ကြားချိန်း အဖြစ် သဘောတူချက်ရှိသည်။
ကိုယ်စားပြုသူ အမျိုးအစား:
person = {firstName:"Bill", lastName:"Gates", age:62,};
စကေးကြားအုပ်:
points = [35, 450, 2, 7, 30, 16,];
သတိပေးပါ!!
Internet Explorer 8 သည် ပျက်စီးလာပါသည်။
JSON သည် နောက်ပါးဘက် ကြားချိန်း မပါဘဲဖြစ်စေရန် ခွင့်ပြုသည်။
JSON:
person = {firstName:"Bill", lastName:"Gates", age:62};
JSON:
points = [35, 450, 2, 7, 30, 16];
Undefined သည် Null မဟုတ်
JavaScript ကိုယ်စားပြုသူ၊ ဘဒ္ဒန္တာ၊ အချက်အလက် နှင့် စနစ် အမျိုးအစား သည် အပျက်အစီး ဖြစ်နိုင်ပါသည်။
ရှိသော JavaScript ကိုယ်စားပြုသူ အရာများ အတွက် ဖြစ်နိုင်သည်: null
။
ဒါဟာ ကိုယ်စားပြုသူ မမြတ်တော့ စစ်ဆေးရန် ပို၍ ကြက်သွေးလာနိုင်ပါသည်။
ကိုယ်စားပြုသူ အမျိုးအစား သည် အမျိုးအစား အဖြစ် စစ်ဆေးနိုင်သည်: undefined
،ကိုယ်စားပြုသူ ရှိသလား စစ်ဆေးရန်:
အမှတ်အသား
if (typeof myObj === "undefined")
但是您无法测试对象是否为 null
,因为如果对象未定义,将抛出错误:
မဟုတ်
if (myObj === null)
要解决此问题,必须测试对象是否为 null
မဟုတ် အခြေခံ ကြောင်းကျည်း ဖြစ်သည်။
သို့သော် အကြောင်းကျည်း ဖြစ်သည်ဟု
မဟုတ်
if (myObj !== null && typeof myObj !== "undefined")
အခြေခံ ကြောင်းကျည်း သို့ ရန် အခြေခံ ကြောင်းကျည်း စမ်းသပ်ပါ
ကိုယ့်အတွက်
if (typeof myObj !== "undefined" && myObj !== null)
အပေါ်
ဟော်ဒီ အမှတ်အသားသို့သော် ဂျပ်တို့ပေါင်း
အခြား အစီအစဉ် ဘာသာစကား အပေါ်လည်း မဟုတ်။
ယခု အကြောင်းကျည်း ဖြစ်သည်ဟု undefined
၊ အခြေခံ အကြောင်းကျည်း ဂျပ်တို့ပေါင်း သူ အပျက်အစီးများမှာ:
အမှတ်အသား
for (var i = 0; i < 10; i++) { // ဂုဏ်ထူး } return i;
- အရင်လမ်း JS အကောင်းဆုံး လိုက်နာ
- နောက်လမ်း JS လက်ရှိ