算術運算子 ( +, ++, -, — , *, /, %)
+ 顧名思義就是將兩個數值加起來
2 + 3 // 5
++ 比較特別一點只的就是自己本身在加一
2++ // 就等於 2 + 1 = 3
- 顧名思義就是將兩個數值相減的意思
3 - 2 // 1
-- 比較特別就是自己本身
2-- // 就等於 2 – 1 = 1
* 就是乘法的意思
2 * 2 = 4
/ 就是除法的意思
2 / 2 = 1
% 指的是餘數
2 % 2 = 0
字串運算子 (String + String)
除了數字可以相加,其實字串也可以串在一起,只要用 + 就可以將兩個不同的字串相接在一起
“Hello” + ”Whien” = “HelloWhien”
邏輯運元 (&&, ||, !)
&& 指的是 and,只有當結果都符合時才會回傳一個布林值 true,否則就是 布林值 false
Boolean(1 && 2) // 因為 1 和 2 都是存在的東西則回傳 true
Boolean(1 && null) // 因為 null 是不存在的東西則回傳 false
|| 指的是 or,只要結果有一個符合就會回傳布林值 true,全部都不符合才回傳 false
Boolean(1 ||null) // 雖然 null 是不存在的東西,但因為 1 存在,回傳 true
! 是相反的意思,如果結果是 true 則為 false,如果是 false 則為 true
!Boolean(1 && 2) // 因為 1 和 2 都是存在的東西但因為加了 ! 則回傳 false
!Boolean(1 && null) // 因為 null 是不存在的東西但因為加了 ! 則回傳 true
位元運算子 ( &, |, ^, ~, <<, >>, >>>)
位元運算子是較低階的運算子方法,比較少碰到,如果想更進一步了解,可以查詢相關資料
指定運算子( =, +=, -=, *=, /=, %=, &=, ^=, |=, <<=, >>=, >>>= )
= 就是賦予指定的用法
let num= 1 // num這個變數就會賦予 1 這個值
+= 是一個簡寫用法
let num = 1
num += 1 // 等於 1 +1 = 2
-=是一個簡寫的用法
let num = 2
num -= 1 // 等於 2 – 1 = 1
*= 是一個簡寫的用法
let num = 2
num *= 2 // 等於 2 * 2 = 4
/= 是一個簡寫的用法
let num = 2
num /= 2 // 等於 2 / 2 = 1
以下以此類推,其實就是拿左邊的值去跟右邊的值做運算
比較運算子 ( ==, ===, !=, >, >=, <, <= )
== 就是比較是否相等的意思
let small = 1
let big = 2
small == big // 1 不等於 2 所以返回布林值 false
=== 是一個較嚴格的比較方法,在ㄧ般的 == 中是不會比較類型的,會自動將類型轉成正確可以比較的類型
let str= ‘1’
let num= 1
str == num // ‘1' 自動被轉成數字 1 所以等於 num 的 1 所以返回 true
str === num // 因為 === 會先比較類型,所以類型不同則返回 false
!= 因為加了一個驚嘆號,也就是等於的相反,不等於
let small = 1
let big = 2
small != big // 因為 1 不等於 2 所以返回 true
> 大於的意思
let small = 1
let big = 2
small > big // 因為 1 小於 2 所以返回 false
>= 大於或等於的意思
let same1 = 2
let same2 = 2
let big = 3
same1 >= same2 // 因為 2 等於 2 所以返回 true
same1 >= big // 比較 2 是否大於或等於 3﹐因為 2 小於 3 所以返回 false
< 小於的意思
let small = 1
let big = 2
small < big // 因為 1 小於 2 所以返回 true
<= 小於或等於的意思
let same1 = 2
let same2 = 2
let small = 1
same1 <= same2 // 因為 2 等於 2 所以返回 true
same1 <= small // 比較 2 是否小於 1,因為 2 大於 1 所以返回 false
特別運算子
特別運算子也能稱為三元運算子,利用 condition ? expr1 : expr2 組成,意思就是由第一個決定布林值 true/false,如果為 true 則執行第一個結果,或是 false 則執行第二個結果。
let small = 1
let big = 2
small > big ? ‘Small’ : ‘Big’ // 先比較 small 是否大於 big,但因為 1 小於 2,得到 false,則會執行第二個 ‘Big’ 的結果
看看其他相關教學
Day — 1 基本結構 (The Structure of JavaScript), 物件 (Object)
Day — 2 變數 (Variable)
Day — 3 運算子 (Operator)
Day — 4 函數 (Function)
Day — 5 流程控制 (Flow Control)
Day — 6 視窗 (Window), 時間控制(Timer)
Day — 7 認識 HTML, 認識元件, 命名元素 (HTML)
Day — 8 事件 (Event)
Day — 9 選擇器 (Selector), 改變樣式 (Style)