<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 缓存特性
const once = function (fn) {
let done = false;
return function () {
if (!done) {
fn();
done = true;
} else {
console.log('已经执行过了!');
}
}
}
function test() {
console.log('test函数');
}
let myFn = once(test);
myFn();
myFn();
myFn();
function memorize(fn) {
let cache = [];
return function () {
console.log('arguments', ...arguments);
cache.push(fn(...arguments));
return cache;
}
}
const sum = function (a, b) {
return a + b;
}
let mySum = memorize(sum);
console.log(mySum(1, 2));
console.log(mySum(2, 4));
console.log(mySum(4, 5));
</script>
</body>
</html>
js 高阶函数 缓存特性
最新推荐文章于 2024-03-25 16:26:15 发布