[ JavaScript 01 ] 基礎觀念


Posted by tzutzu858 on 2020-06-21

#基礎觀念 #邏輯運算 #位元運算

JavaScript 是一個成熟的動態程式語言,應用於 HTML 文件(document)上時,就可以為網頁提供動態的互動功能。JavaScript 是由 Mozilla project、Mozilla Foundation 和 Mozilla Corporation 的創辦人 Brendan Eich 所發明的。 文章參考

早期 javascript 只能用在瀏覽器上執行,之後 2009 年有了 Node.js,Node.js 是能夠在伺服器端運行 JavaScript 的開放原始碼、跨平台 JavaScript 執行環境(run-time)。因此 javascript 除了瀏覽器上執行也可以在 Node.js 執行。


 邏輯運算 : && (and)、|| (or) 與 ! (not)

> true || true 
true

> true || false
true

> true && false
false

> true && true
true

> !true
false

> !false
true

|| 與 && 的短路性質

> 3 || 10
3  

> false || 10
10

> 0 || 10
10

or 只要有一個是 true 就會印出來,所以不會跑到後面。
0 要把它看成 false , 負數也是 true

> 3 && 10
10

> true && false
false

> false && 10
false

> 0 && 10
0

> false && 0
false

 位元運算

位移運算子 >> 與 <<

  • 複習 2進位
     二進位
0100 = 2^2 = 4
1000 = 2^3 = 8

<< 往左移 1 位 數字乘2
0011 => 0110 3 << 1 結果是 3x2=6

>> 往左移 1 位 數字除2
0101 => 0010 6 >> 1 結果是 6/2=3
p.s. 往右移如果不能整除的話會是無條件捨去,
所以 5 >> 1 是 5/2=2..1
餘1會捨去,結果是 2

5 >> 1 會是 2 
0101 => 0010

5 >> 2 會是 1
0101 => 0001

位移運算子會比直接乘以2除2效能比較快


位元運算的 and、or、xor 與 not

  • 一個符號是位元運算
  • 兩個符號是邏輯運算
    1010
    1111
and______
    1010


> 10 & 15
10     // 1010 && 1111 = 1010

> 10 && 15
15     // || 與 && 的短路性質

    1010
    1111
or________
    1111


> 10 | 15
15

> 10 || 15
10

     1010
     1111
xor________
     0101


> 10 ^ 15
5

//  xor 兩個都是 1,兩個都是 0,會回傳 0 
//  兩個不一樣,回傳 1
//  符號代表 ^
// not 數字反轉 , 1 變 0 , 0 變 1

> !15
false

> ~15
-16

#javascript







Related Posts

筆記、[ALG101] 看程式

筆記、[ALG101] 看程式

34歲才開始自學寫程式會不會太晚?真的有心,永遠都不嫌晚。

34歲才開始自學寫程式會不會太晚?真的有心,永遠都不嫌晚。

PHP 和 MySQL 的互動 1 : 連線

PHP 和 MySQL 的互動 1 : 連線


Comments