javascript--记忆函数

    function memory(val) {
        if(!memory.cached) {//判断是否创建了缓存
            memory.cached = {};
        }
        if(memory.cached[val] !== undefined) {//检查传的值是否在对象中
            return memory.cached[value];
        }
        let memo = val !== 0 && val !== 1;
        for(let i = 2;i < val; i++) {
            if(val % i === 0) {
                memo = false;
                break;
            }
        }
        return memory.cached[val] = memo;
    }
    console.log(memory(5));//true

缓存是函数自身的一个属性,只要函数存在,缓存就存在。

原文地址:https://www.cnblogs.com/intelwisd/p/9022535.html