为了账号安全,请及时绑定邮箱和手机立即绑定

vue源码阅读 cached方法疑惑!

vue源码阅读 cached方法疑惑!

慕无忌1623718 2019-03-16 19:15:22
在读vue源码时,遇到cached方法,如下:// 在src/shared/until.js中export function cached (fn: Function): Function {  const cache = Object.create(null)  return function cachedFn (str: string): any {    const hit = cache[str]    return hit || (cache[str] = fn(str))  }}上面这个方法在很多其他方法中有运用,如//驼峰化以连字符分隔的字符const camelizeRE = /-(\w)/gexport const camelize = cached((str: string): string => {  return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')})//大写字符串var capitalize = cached(function (str) {  return str.charAt(0).toUpperCase() + str.slice(1)});网上查询了说是cached方式加快数据的读取速度,加做缓存策略;但是并不能理解,有大神可以讲解下,该方法的原理吗?
查看完整描述

2 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

已想明白!
它的实现原理:创建一个对象,将我们所写的东西保存到这个对象中,如果说我们后面再次用到了这个东西,那么 JavaScript 就不需要再计算一遍了,直接将这个对象中我们需要的东西提取出来

查看完整回答
反对 回复 2019-03-20
  • 2 回答
  • 0 关注
  • 762 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信