柯里化

左心房为你撑大大i 提交于 2020-01-10 13:16:39

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

利用了闭包,保存了对各个方法参数的引用,虽然方法出栈了,但是变量对象还保存在内存中

 

计算体积

function volume(h) {
    return (h) => {
        return (l) => {
            return (w) => {
                return h * l w;
            }
        }
    }
}
var result = volume(10)(20)(30);
//如果说想计算固定高度的volume
function volume100() {

}

var volume100 =  volume(100);
//不用每次都传相同的参数100
var result1 = volume100(10)(20);
var result2 = volume100(40)(50);

计算折扣

function discount(discount) {
    return (price) => {
        return price * discount;
    }
}

const tenPercentDiscount = discount(0.1)
const twentyPercentDiscount = discount(0.2);

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!