1-13、纯函数的好处

我这个岁数的程序圆,学点东西不容易啊,不比你们精神小伙啊。

所以。

不废话了,赶紧努力吧!

纯函数的好处:

  1. 可缓存;
  2. 可单元测试;
  3. 并行处理,ES6以后可以通过(web worker)开启多线程。在多线程处理过程中,不需要访问共享的内存数据,可以任意运行。

可缓存,示例1:

// 安装loadsh库,npm i -D loadsh
const _ = require('loadsh');
function getArea(r) {
    console.log(r);
    return Math.PI * r * r;
}

let getAreaWithMemory = _.memoize(getArea);
console.log(getAreaWithMemory(4));
console.log(getAreaWithMemory(4));
console.log(getAreaWithMemory(4));

模拟memoize()函数, 示例2:

function memoize (f) {
    let cache = {}
    return function () {
        let key = JSON.stringify(arguments);
        cache[key] = cache[key] || f.apply(f, arguments);
        return cache[key];
    }
}
let getAreaWithMemory = memoize(getArea);
console.log(getAreaWithMemory(4));
console.log(getAreaWithMemory(4));
console.log(getAreaWithMemory(4));

每天写写博客,果然就是超越自己。哈哈哈!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章