1.面向?qū)ο缶幊蹋?/h3>
把現(xiàn)實對象抽象成具體的類或?qū)ο螅ㄟ^封裝抖韩,繼承,多態(tài)實現(xiàn)對現(xiàn)實事物的描述疫铜。
2.函數(shù)式編程:
把現(xiàn)實事物之間的關(guān)系抽象成函數(shù)映射關(guān)系茂浮,如 f = f(x);
3.純函數(shù):
相同 的 輸入始終有相同的輸出
4.函數(shù)一等公民
a.函數(shù)作為變量存儲
b.函數(shù)作為參數(shù)傳遞
c.函數(shù)作為返回值返回
其中,b,c屬于高階函數(shù)
5.高階函數(shù)
a.函數(shù)作為參數(shù)傳遞 【實踐中應用】
```
var map = (array, fn) => {
let results = [];
for (let item of array) {
results.push(fn(item));
}
return results;
}
var array = [1, 2, 4, 6, 5, 7];
var res = map(array, item => item * 2);
console.log(res); //[ 2, 4, 8, 12, 10, 14 ]
```
b.函數(shù)作為返回值返回 【常見有閉包】
//once函數(shù)
function once () {
let done = false;
let msg = 'this is a closure';
let count = 0;
return function() {
if (!done) {
done = true;
// logic
console.log(msg);
console.log(++count);
}
}
}
let closureFn = once();
closureFn();
//this is a closure
//1
closureFn();
//無打印