1.实现下面的函数达到下面的效果
console.log(one(add(two())))
console.log(two(add(one())))
console.log(two(plus(one())))
console.log(one(plus(two())))
console.log(one(subtract(two())))
console.log(two(subtract(one())))
console.log(one(divide(two())))
console.log(two(divide(one())))
答案(请先思考再看答案)
点击查看答案
function add (num) {
return function op () {
return this.value + num
}
}
function plus (num) {
return function op () {
return this.value * num
}
}
function subtract (num) {
return function op () {
return this.value - num
}
}
function divide (num) {
return function op () {
return this.value / num
}
}
function one (op) {
const tmp = {
value: 1,
op: op || function op () {
return this.value
}
}
return tmp.op()
}
function two (op) {
const tmp = {
value: 2,
op: op || function op () {
return this.value
}
}
return tmp.op()
}