函数合成
优点:
- 组合函数,高阶性
- 没有硬编码,灵活性
- 函数拆分
缺点:
- 性能
- 代码冗余
- 可读性
写法 1
document.body.innerHTML = '<h1>Hello</h1>'
写法 2
js
const compose = (...fns) => {
return value => fns.reverse()
.reduce((acc, fn) => fn(acc), value)
}
const write = value => document.write(value)
const createNode = text => {
return `<h1>${text}<h1>`
}
const setMsg = msg => msg
// 新函数,从后往前
const pringMsg = compose(
write,
createNode,
setMsg
)
// 变量
pringMsg('Hello1')