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 Bitwise လုပ်ဆောင်ချက်များ


JavaScript Bitwise အော်ပရေတာများ

Operator Name Description
& AND Sets each bit to 1 if both bits are 1
| OR Sets each bit to 1 if one of two bits is 1
^ XOR Sets each bit to 1 if only one of two bits is 1
~ NOT Inverts all the bits
<< Zero fill left shift Shifts left by pushing zeros in from the right and let the leftmost bits fall off
>> Signed right shift Shifts right by pushing copies of the leftmost bit in from the left, and let the rightmost bits fall off
>>> Zero fill right shift Shifts right by pushing zeros in from the left, and let the rightmost bits fall off

ဥပမာများ

Operation Result Same as Result
5 & 1 1 0101 & 0001  0001
5 | 1 5 0101 | 0001  0101
~ 5 10  ~0101  1010
5 << 1 10 0101 << 1  1010
5 ^ 1 4 0101 ^ 0001  0100
5 >> 1 2 0101 >> 1  0010
5 >>> 1 2 0101 >>> 1  0010

JavaScript သည် 32 bits Bitwise Operands ကိုအသုံးပြုသည်။

JavaScript သည် နံပါတ်များကို 64 bits floating point နံပါတ်များအဖြစ် သိမ်းဆည်းထားသော်လည်း bitwise လုပ်ဆောင်ချက်အားလုံးကို 32 bits binary နံပါတ်များဖြင့် လုပ်ဆောင်ပါသည်။

အနည်းငယ်သော လုပ်ဆောင်ချက်ကို မလုပ်ဆောင်မီ၊ JavaScript သည် နံပါတ်များကို 32 bits ရေးထိုးထားသော ကိန်းပြည့်များအဖြစ်သို့ ပြောင်းလဲပေးပါသည်။

bitwise လုပ်ဆောင်ချက်ကို လုပ်ဆောင်ပြီးနောက်၊ ရလဒ်ကို 64 bits JavaScript နံပါတ်များသို့ ပြန်ပြောင်းသည်။

အထက်ဖော်ပြပါ ဥပမာများသည် 4 bits လက်မှတ်မထိုးထားသော binary နံပါတ်များကို အသုံးပြုသည်။ ဒီအတွက်ကြောင့် ~ 5 မှ 10 သို့ပြန်လာသည်။

JavaScript သည် 32 bits signed integers ကိုအသုံးပြုသောကြောင့်၊ ၎င်းသည် 10 သို့ပြန်မလာပါ။ ၎င်းသည် -6 သို့ပြန်သွားပါမည်။

0000000000000000000000000000101 (၅)၊

111111111111111111111111111010 (~5 = -6)

ရေးထိုးထားသော ကိန်းပြည့်သည် အနှုတ်လက္ခဏာအဖြစ် ဘယ်ဘက်ဆုံးဘစ်ကို အသုံးပြုသည်။



နည်းနည်းချင်း AND

ဘစ်တစ်စုံတွင် တစ်နည်းနည်းနှင့် AND ကိုလုပ်ဆောင်သောအခါ၊ ဘစ်နှစ်ခုစလုံးသည် 1 ဖြစ်ပါက 1 ပြန်ပေးသည်။

အနည်းငယ် ဥပမာ-
လည်ပတ်မှုရလဒ်
0 & 0၀ယ်တယ်။
0 & 1၀ယ်တယ်။
1 & 0၀ယ်တယ်။
1 & 1
4 bits ဥပမာ-
လည်ပတ်မှုရလဒ်
1111 & 0000၀၀၀၀
၁၁၁၁ & ၀၀၀၁၀၀၀၁
၁၁၁၁ & ၀၀၁၀၀၀၁၀
၁၁၁၁ & ၀၁၀၀၀၁၀၀

နည်းနည်းချင်း OR

ဘစ်တစ်စုံတွင် တစ်နည်းနည်းဖြင့် OR ကို လုပ်ဆောင်သောအခါ၊ ဘစ်များထဲမှ တစ်ခုသည် 1 ဖြစ်ပါက 1 ကို ပြန်ပေးသည်-

အနည်းငယ် ဥပမာ-
လည်ပတ်မှုရလဒ်
0 | ၀ယ်တယ်။၀ယ်တယ်။
0 | ၁ 
၁ | ၀ယ်တယ်။
၁ |
4 bits ဥပမာ-
လည်ပတ်မှုရလဒ်
1111 | ၀၀၀၀၁၁၁၁
1111 | ၀၀၀၁၁၁၁၁
1111 | ၀၀၁၀၁၁၁၁
1111 | ၀၁၀၀၁၁၁၁

နည်းနည်းချင်း XOR

bits တစ်စုံတွင် XOR ကို တစ်နည်းနည်းဖြင့် လုပ်ဆောင်သောအခါ၊ bits များ ကွဲပြားပါက 1 ကို ပြန်ပေးသည်-

အနည်းငယ် ဥပမာ-
လည်ပတ်မှုရလဒ်
၀^၀၀ယ်တယ်။
၀^၁၁ 
၁^၀
၁^၁၀ယ်တယ်။ 
4 bits ဥပမာ-
လည်ပတ်မှုရလဒ်
1111^0000၁၁၁၁
1111^0001၁၁၁၀
1111^0010၁၁၀၁
၁၁၁၁^၀၁၀၀၁၀၁၁

JavaScript နှင့် အနည်းငယ်မျှသော AND (&)

ဘစ်နှစ်ခုလုံးသည် 1 ဖြစ်မှသာ 1 ကို bitwise AND ပြန်ပေးသည် ။

ဒဿမဒွိ
000000000000000000000000000101
000000000000000000000000000001
5 & ​​10000000000000000000000000000001 (၁)၊

ဥပမာ

let x = 5 & 1;

JavaScript Bitwise သို့မဟုတ် (|)

ဘစ်များထဲမှ တစ်ခုသည် 1 ဖြစ်ပါက 1 သို့ ပြန်ပေးသည်-

ဒဿမဒွိ
000000000000000000000000000101
000000000000000000000000000001
5 | 0000000000000000000000000000101 (၅)၊

ဥပမာ

let x = 5 | 1;

JavaScript Bitwise XOR (^)

bitwise XOR သည် bit များ ကွဲပြားပါက 1 ကို ပြန်ပေးသည်-

ဒဿမဒွိ
000000000000000000000000000101
000000000000000000000000000001
၅^၁0000000000000000000000000000100 (၄)၊

ဥပမာ

let x = 5 ^ 1;

JavaScript သည် အနည်းငယ်မဟုတ်ပါ (~)

ဒဿမဒွိ
000000000000000000000000000101
~၅111111111111111111111111111010 (စာ-၆)၊

ဥပမာ

let x = ~5;

JavaScript (Zero Fill) Bitwise Left Shift (<<)

၎င်းသည် သုညဖြည့်စွက်ဘယ်ဘက်ပြောင်းမှုဖြစ်သည်။ တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော သုညဘစ်များကို ညာဘက်မှ တွန်းထုတ်ပြီး ဘယ်ဘက်စွန်းမှ ပြုတ်ကျသည်-

ဒဿမဒွိ
000000000000000000000000000101
5 << ၁0000000000000000000000000001010 (၁၀)၊

ဥပမာ

let x = 5 << 1;

JavaScript (Sign Preserving) Bitwise Right Shift (>>)

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

ဒဿမဒွိ
စာ-၅111111111111111111111111111011
-5 >> ၁111111111111111111111111111101 (စာ-၃)၊

ဥပမာ

let x = -5 >> 1;

JavaScript (Zero Fill) Right Shift (>>>)

၎င်းသည် သုညဖြည့်စွက် ညာဘက်ပြောင်းမှုဖြစ်သည်။ တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော သုညဘစ်များကို ဘယ်ဘက်မှ တွန်းထုတ်ပြီး ညာဘက်ဆုံးဘစ်များ ပြုတ်ကျသည်-

ဒဿမဒွိ
000000000000000000000000000101
၅ >>> ၁0000000000000000000000000000010 (၂)၊

ဥပမာ

let x = 5 >>> 1;

Binary နံပါတ်များ

တစ်ခုတည်းသောဘစ်အစုံပါသော Binary ဂဏန်းများသည် နားလည်ရလွယ်ကူသည်-

Binary ကိုယ်စားပြုမှုဒဿမတန်ဖိုး
000000000000000000000000000001
000000000000000000000000000010
0000000000000000000000000000100
0000000000000000000000000001000
0000000000000000000000000010000၁၆
000000000000000000000000100000၃၂
0000000000000000000000001000000၆၄

နောက်ထပ် bits အနည်းငယ်ကို သတ်မှတ်ခြင်းသည် binary ပုံစံကို ဖော်ပြသည်-

Binary ကိုယ်စားပြုမှုဒဿမတန်ဖိုး
000000000000000000000000000101၅ (၄+၁)၊
0000000000000000000000000001101၁၃ (၈+၄+၁)၊
0000000000000000000000000101101၄၅ (၃၂+၈+၄+၁)၊

JavaScript binary နံပါတ်များကို နှစ်ခု၏ ဖြည့်စွက်ဖော်မတ်တွင် သိမ်းဆည်းထားသည်။

ဆိုလိုသည်မှာ အနှုတ်ကိန်းသည် ဂဏန်းပေါင်း 1 ၏ အနည်းငယ်မျှသော မဟုတ်ကြောင်း ဆိုလိုသည်-

Binary ကိုယ်စားပြုမှုဒဿမတန်ဖိုး
000000000000000000000000000101
111111111111111111111111111011စာ-၅
000000000000000000000000000110
111111111111111111111111111010စာ-၆
0000000000000000000000000101000၄၀
1111111111111111111111111011000စာ-၄၀

Decimal သို့ Binary ပြောင်းခြင်း။

ဥပမာ

function dec2bin(dec){
  return (dec >>> 0).toString(2);
}

Binary ကို Decimal သို့ပြောင်းခြင်း။

ဥပမာ

function bin2dec(bin){
  return parseInt(bin, 2).toString(10);
}