Node.js
是一個 JavaScript 的執行環境,可以讓 JS 跑在除了瀏覽器以外的地方
(以前 JS 只能在瀏覽器裡面跑)
環境建置
- 到官網下載
- 在 git bash 輸入指令 node -v 看到版本號代表安裝成功
在瀏覽器上寫 JS
- 打開 DevTool (按滑鼠右鍵 -> 檢查)
- 按下 Console,就可以在裡面寫 JS 了
在 Node.js 上寫 JS
- 在 git bash 輸入 node(或是直接寫 js 在檔案,然後輸入 node + 檔案名稱 ex. node index.js)
- 會跳出 " > ",在後面輸入即可
- 跳出輸入畫面按 ctrl + c,就可以結束
基本運算
加減乘除餘符號
+
:加號 ex. 1 + 1 (2)-
:減號 ex. 5 - 2 (3)*
:乘號 ex. 3 * 3 (6)/
:除號 ex. 4 / 2 (2)%
:取餘數 ex. 10 % 3 (1,因為 10 除以 3 餘 1)
邏輯運算符號
&&
:和、and ,前後都要符合 ex. a && b (a 且 b)||
:或、or,前後的其中一個符合 ex. a || b (a 或 b)!
:不是、非、not ex. !true (不是 true,所以是 false)
位元運算子
>>
:所有位元往右移,每移一位除以 2<<
:所有位元往左移,每移一位乘以 2
變數
var
:宣告變數 ex. var box = 123 (宣告一個變數叫 box,給他一個值 123)- 有宣告沒給值,會回傳 undefined,沒宣告的東西會回傳 not defined
- 不能用數字開頭 ex. var 1box = 123 (會出錯))
- 不能使用保留字(js 的內建字) ex.
var var = 123
(var 就是保留字) - 用具語意的字去命名
- 需統一命名方式(ex.駝峰式)
型態
Primitive
- Boolean
- Number
- String
- Object
- Undefined
- Function
判斷式
- if(要判斷的東西) {判斷為 true 的話就執行} eles {判斷為 false 才執行}
if (10 > 5) { console.log("It's true") } else { console.log("It's false") }
- if(條件一) {符合條件一執行} else if (條件二 ) {符合條件二執行}
var age = 30 if (age >= 12 && age <= 50 ) { console.log('young') } else if (age < 12) { console.log('children') } else if (age > 50) { console.log('old') } // output: young
- switch(條件) { case: 執行的東西 break }
var month = 2 switch(month) { case 1: console.log("一月") break case 2: console.log("二月") break case 3: console.log("三月") break default: // 上面條件都沒有的時候會跑到這一行 console.log("四月") } // output: 二月
- condition ? A : B:三元運算子,判斷條件,如果是 true,就執行 A,如果是 false,就執行 B
var score = 60 var message = score >= 60 ? "pass" : "fail" message => pass
迴圈
- do {要執行的東西} while(條件),當符合條件時就再次執行,當不符合條件時就跳出迴圈
var i = 1 do { console.log(i) i++ } while(i <= 5) // 當 i 是 6 的時侯就會跳出
- while(條件) {要執行的東西},另一種寫法
var i = 1 while(i < 5) { console.log(i) i++ }
- for (初始條件; 執行條件; i++) {執行的東西}
for (var i = 0; i < 5; i++) { console.log(i) } // 初始值: 0,i 小於 5 就 console.log,i++,當 i 大於等於 5 就跳出迴圈
function 函式
function 函式名稱(參數) {
return 要回傳的東西
}
function sum(a, b) {
return a + b
}
console.log(sum(1, 3)) // output: 4
- 參數可以傳入 function
- 函式可以不取名,就是匿名函式(anonymous function)