四.memoize函数:缓存函数结果
1.memoize接受俩个参数一个是func执行函数,另一个是可选参数resolver
2.判断参数是不是函数类型,如果不是抛出错误
3.创建一个memoized函数也就是这个memoize如何实现缓存的实现函数
4.声明一个memoized函数
5.memoized创建一个名为cache的Map对象
6.将memoized作为返回值
7.执行memoized函数
8.定义key值,如果有resolver那么key由resolver决定,没有则是默认传入参数的第一个
9.获取创建好的cache对象
10.进行判断是否有cache里存在key值
11.没有则是func函数执行,然后存入新的key值
12.返回func执行的结果