- Deadline: 3/17 中午 12:00
- 把檔案寄至 chentsulin@gmail.com,標題寫 [作業二/ 電機X XXX] (如果你已經會用 github 也可以寄 repo 連結過來)
這個 function 需通過以下測試案例:
getType(1) // 'number'
getType(NaN) // 'NaN'
getType('1') // 'string'
getType(function() {}) // 'function'
getType({}) // 'object'
getType([]) // 'array'
getType(null) // 'null'
getType(undefined) // 'undefined'
- 參照投影片內關於
typeof
的陷阱
count
: 必須放在 closure 內作為 private variable,不能給別人直接修改,初始化為 0getCount
: 作為取用到 count value 的唯一 public method,回傳count
當下的值increase
: 把 closure 內的count
加一decrease
: 把 closure 內的count
減一
- 參考課程上 closure 的例子,把 public method return 出來,其他 private 的放在 closure 內
3. 寫一個 curring 化 (這不是個容易講解的詞彙,請往下看) 的 sum
function
一個一般的 sum
function 長這個樣子:
function sum(a, b, c) {
return a + b + c;
}
sum(1, 2, 3) // 6
sum(100, 25, 10) // 135
請寫一個 curringSum
function 他是一個一個給參數,這樣使用:
curringSum(1)(2)(3); // 6
var add125 = curringSum(100)(25);
add125(10); // 135
備註:這邊不算是標準的 currying,不然應該也要支援 curringSum(1, 2)(3) 這樣的呼叫方式。
- 需要用到 High-order function (接收 function 當參數或是以 function 當回傳值的 function)
- Currying 的中文維基百科更好懂一些
Tutorial 有一部分是尚未教過的
ajax
,完全沒用過的人可能不容易懂。 以下影片看起來很多,不過長度都只有 1 - 3 分鐘
- React Fundamentals: Hello World - First Component
- React Fundamentals: The Render Method
- React Fundamentals: Introduction to Properties
- React Fundamentals: State Basics
- React Fundamentals: Owner Ownee Relationship
- React Fundamentals: Using Refs to Access Components
- React Fundamentals: Accessing Child Properties
- React Fundamentals: Component Lifecycle - Mounting Basics
- React Fundamentals: Component Lifecycle - Mounting Usage
- React Fundamentals: Component Lifecycle - Updating
這五個以外的可以先不要看