" "
或 ' '
包起來。例
let userName = "Amy";
console.log(userName); // amy
console.log(userName.length) // 3
let age = 25
、const PI = 3.14159
let status = false
undefind 是宣告了但沒賦值(沒給予值);not defined 是連宣告都沒有,所以連找都找不到。
let dinner = "noodles";
let lunch;
console.log(lunch); // undefined
console.log(amy); // ReferenceError: amy is not defined
// 我是物件
let user = {
name: "otter",
age: 18,
habbit: "eat",
family: {
couple: "boxy",
daughter: "littleOtter"
}
};
let device = ["apple", "android", "sony"]; // 我是陣列
// 物件
console.log(user.name); // otter
console.log(user.family.daughter); // littleOtter
console.log(typeof user); // object
// 陣列
console.log(device[0]); // apple
console.log(device[1]); // android
console.log(typeof device); // object
這坑先略過,我還沒實際用過……以後再來填 @W@!! (握拳
有時也會需要 JS 幫我們做加減乘除等運算,除了基本加減乘除外,還有一些符號的使用法需要了解。以下僅列出部分,需要其他運算子的話可以到 MDN 找。
ps. 三元運算子會在流程控制時說明。(其實是漏了XD)
大類 | 名稱 | 符號 | 用法 | 說明 |
---|---|---|---|---|
賦值(assignment) | 賦值 | = |
x = y |
把 y 的值賦予給 x |
- | 加法賦值(Addition assignment) | += |
x += y |
x = x + y |
- | 減法賦值(Subtraction assignment) | -= |
x -= y |
x = x - y |
算術(Arithmetic) | 加(addition) | + |
阿就加法 | 略 |
- | 減(Subtraction) | - |
- | 略 |
- | 乘(Multiplication) | * |
- | 略 |
- | 除(Division) | / |
- | 略 |
- | 指數(Exponentiation) | ** |
2**3 |
2 的 3 次方=8 |
- | 遞增(Increment) | ++ |
i++ |
先傳回 i 值再遞增,看例子 |
- | - | ++ |
++i |
先遞增再傳回結果,看例子 |
- | 遞減(Decrement) | -- |
i-- |
先傳回 i 值再遞減,同 i++ |
- | - | -- |
--i |
先遞減再傳回結果,同 ++i |
- | 取餘數(Remainder ) | % |
5 % 3 |
回傳 5/3 的餘數1 |
邏輯(Logical) | 而且(and) | && |
exp1 && exp2 |
若 exp1 與 exp2 皆為true,回傳 true;若任一為 false,回傳 false |
- | 或(or) | ` | ` | |
- | 否定、反轉(not) | ! |
!(3>2) | 反轉結果,原本 true 的會變 false,反之回傳 true |
比較(Comparison) | 等於(Equal) | == |
x == y |
兩邊值相等時回傳 true,反之回傳 false;是寬鬆的比較 |
- | 完全等於(Strict equal) | === |
x === y |
兩邊值與 type 皆相等時回傳 true,反之回傳 false;是嚴格的比較 |
- | 不等於(Not equal) | != |
x != y |
若 x 與 y 的值相等,則回傳 false,反之則回傳 ture;是寬鬆的比較 |
- | 完全不等於(Strict not equal) | !== |
x !== y |
若 x 與 y 的值與 type 皆相等,則回傳 false,反之則回傳 ture;是嚴格的比較 |
%
let x = 15;
let y = 3;
console.log(x % y); // 0
let a = 5;
let b = 2;
console.log(a % b); // 1
console.clear();
let i = 0;
let j = 0;
console.log(i++, ++j); // 0 1
console.log(i, j); // 1 1
let x = 5;
let y = 3;
let z = 5;
if (x == y) { // false,直接跳出if
console.log("1", x, y);
}
if (x != y) {
console.log("2", x + y); // 8
}
if (x === z) {
console.log("3", z); // 5
}
if (x && y) {
let a = x + y;
console.log("4", a); // 8
}
接下來會提到函式(Function)與流程控制(Flow conctrl),這邊先來個名詞定義一下。
例:
是一串會回傳結果的 code。只要會回傳結果,都算是表達式。範圍太廣了就不列了XD (欸
參考資料