• [Javascript] Compose multiple functions for new behavior in JavaScript


    In this lesson you will create a utility function that allows you to quickly compose behavior of multiple functions to create new behavior. By the end, you will have successfully created a tremendously popular helper function that is used in JavaScript libraries ranging from Redux to Ramda.

    const startVal = 4;
    
    const squared = x => x * x;
    const doubled = x => x * 2;
    const addTen = x => x + 10;
    const halfNum = x => x / 2;
    
    const result = halfNum(addTen(doubled(squared(startVal))));

    The code above is not good enough. We can use 'compose' function instead of nested functions call together.

    Write 'compose' function:

    const compose = (...fns) => initialVal => fns.reduceRight((val, fn) => fn(val), initialVal)

    Now we can optimizte the code:

    const result = compose(
      halfNum,
      addTen,
      doubled,
      squared
    )(startVal);

    const compose = (...fns) => (...args) => fns.reduceRight((res, fn) => [fn.call(null, ...res)], args)[0];
  • 相关阅读:
    jquery 选择器总结
    jQuery 添加元素和删除元素
    jQuery 操作
    jquery 事件
    jQuery对象与DOM对象
    jquery 在页面中三种写法
    CSS3制作立体导航
    开发常用技巧之css字体编码
    c语言快速入门3
    c语言快速入门2
  • 原文地址:https://www.cnblogs.com/Answer1215/p/7930242.html
Copyright © 2020-2023  润新知