var fibo = function (x) {
console.log(x);
if (x === 1) return 1;
if (x === 2) return 2;
return fibo(x - 1) + fibo(x - 2);
};
// fibo = _.memoize(fibo);
var fibom = _.memoize(fibo);
console.log(fibom(5));
<script src="https://cdn.jsdelivr.net/lodash/4.17.2/lodash.min.js"></script>
を変更したときに失敗するのはなぜmemoize
作業(コメントアウトされたコードに示すように)が、新しい変数に割り当てられていないとき、元の関数の変数名に割り当てられたときに?
ああ。今あなたがそれを指摘したことは明らかです... – TrueWill