---
# System prepended metadata

title: KEVIN TEACHER

---

# KEVIN TEACHER


## Oct 03 ( Lesson 1 - Intro)

### Console

console.log(name)可以用來檢查東西或是印東西出來：
```javascript=
console.log(26);
console.log('sunday');
```

### 註解 Comment

註解方式：
```javascript=
//單行註解

/*
 *多行註解 
*/
```

### 型別 Data Types

- Number：任何數字
  ```javascript=
  let amount = 6;
  let price = 4.99;
  ```
- String：
  字串 letters, numbers, spaces, symbols.. 等等，用單引或雙引框起來
  ```javascript=
  let single = 'Kevin is AWESOME';
  let double = "Kevin is AWESOME";
  ```
- Boolean：布林值（true or false）
  ```javascript=
  let lateToWork = true;
  ```
- Null：虛無飄渺
  ```javascript=
  let x = null;
  ```
- Undefined：無定義
- Object：物件（Collections of related data）

### 算數運作 Arithmetic Operators
```javascript=
// Addition 加法
5 + 5

// Subtraction 減法
10 - 5

// Multiplication 乘法
5 * 10

// Division 除法
10 / 5

// Modulo 餘數
10 % 5
```
==parentheses = 圓括弧==
### 字串連接 String Concatenation
```javascript=
console.log('front ' + 'space'); 
// Prints 'front space'

console.log('back' + ' space'); 
// Prints 'back space'

console.log('no' + 'space'); 
// Prints 'nospace'

console.log('middle' + ' ' + 'space'); 
// Prints 'middle space'
```

### 屬性 Properties
```javascript=
console.log('Hello'.length); 
// Prints 5
```

### 方法 Methods
用的方式：
Dot operator + Method name + Parentheses
```javascript=
console.log('hello'.toUpperCase()); 
// Prints 'HELLO'（全改大寫）

console.log('Hey'.startsWith('H'));
// Prints true（布林值）

console.log('   Kevin Rocks.   '.trim());
// Prints 'Kevin Rocks.'（前後空白刪除）
```

### 內建物件 Built-in Objects
這裡面有各式的內建物件可使用
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects

```javascript=
console.log(Math.random() * 100);
// Prints 0～100之間的隨機數字（可能有小數點）

console.log(Math.floor(Math.random() * 100));
// Prints 0～100之間的隨機整數（無條件捨去）

console.log(Math.ceil(43.8));
// Prints 44（無條件進位）

console.log(Number.isInteger(2017));
// Prints true（布林值）
```

==integer = 整數==

==Syntax = 語法==

## Oct 03 ( Lesson 2 - Variables)

### 用 var 創造一個變數

```javascript=
var myName = 'Kevin';
console.log(myName);
// Prints Kevin
```

命名的限制：
1. 大小寫是有差的
2. 不可用數字做開頭
3. 不能和 JS 裡面某些關鍵字一樣

> Kevin：比較少人在用 var，還在用的人就是沒有在學

### 用 let 創造一個變數
```javascript=
let emmasLover = 'Mark';
emmasLover = 'Kevin';
console.log(emmasLover);
// Prints Kevin
```

### let v.s var
```javascript=
function varTest() {
  var x = 1;
  {
    var x = 2;  // same variable!
    console.log(x);  // 2
  }
  console.log(x);  // 2 (會被上面影響)  
}

function letTest() {
  let x = 1;
  {
    let x = 2;  // different variable
    console.log(x);  // 2
  }
  console.log(x);  // 1 (不會被影響)  
}
```