柯里化函数
柯里化函数就是一个带有参数的函数返回一个带有另一个参数的函数;要返回一个函数;
使用柯里化函数求 a + b 的和:
// 箭头函数的简写方式函数体里只有一条语句省略{}
const add = (a) => (b) => a + b
console.log(add(4)(5)) // 9
// 然后可以一直链式求和:
const add = (a) => (b) => (c) => a + b + c
console.log(add(4)(5)(5)) // 14
柯里化函数思想 :封装函数;
<script>
function count(num1, num2) {
return function calc(type) {
switch (type) {
case '+':
return num1 + num2
case '-':
return num1 - num2
case '*':
return num1 * num2
case '/':
return num1 / num2
}
}
}
const newCount = count(100, 10)
// console.log(count(100, 10)('*'))
console.log(newCount('+')) //110
console.log(newCount('-')) //03-柯里化函数.html:28 90
console.log(newCount('*')) //03-柯里化函数.html:29 1000
console.log(newCount('/')) //03-柯里化函数.html:30 10
</script>