memoize:
    缓存函数时指将上次的计算结果缓存起来,当下次调用时,如果遇到相同的参数,就直接返回缓存中的数据。

    实现原理:
    把参数和对应的结果数据存到一个对象中,调用时,判断参数对应的数据是否存在,存在就返回对应的结果数据。

    image.png

    image.png

    image.png

    curry 柯里化函数:
    在数学和计算科学中,柯里化是一种将使用多个参数的一个函数转换成一些列使用一个参数的函数的技术。

    1. var myFunc1 = function(key, obj){
    2. return obj[key];
    3. };
    4. var myCurr = function(key){
    5. return (obj) =>{
    6. return obj[key];
    7. };
    8. }
    9. var t1 = myCurr('name')({name: 'David', age: 25});
    10. console.log(t1);

    image.png

    image.png

    image.png

    image.png

    image.png

    偏函数:
    image.png

    image.png

    image.png