读Vue源码时发现有一段函数优化的代码值得我们学习。它将每次执行函数后的值进行缓存,当再次执行的时候直接调用缓存的数据而不是重复执行函数,以此提高前端性能,这是典型的用空间换时间的优化,也是经典的偏函数应用。
function cached (fn
) {
var cache
= Object
.create(null);
return (function cachedFn (str
) {
var hit
= cache
[str
];
return hit
|| (cache
[str
] = fn(str
))
})
}
var capitalize
= cached(function (str
) {
return str
.charAt(0).toUpperCase() + str
.slice(1)
});
var firstE
= capitalize("b-bAb");
var secondF
= capitalize("b-bAb");
转载请注明原文地址:https://ipadbbs.8miu.com/read-46405.html