一直希望有一个机会可以阅读某库的源码,并写一些自己的想法和思考,最终将目标定在underscore.js,一个纯粹的js工具库,没有dom、bom的参与。 下划线的许多api都是日常工作中会用到的,诸如
each
,map
,bind
,isUndefined
...等,试想如果深入其中把这些api都整明白了,是不是会有许多收获呢!想想还有些小激动。
老实说静下心来看完一个库是比较难得一件事,从开始阅读下划线到现在过去几个月,终于把它给整的差不多了,期间也看了网上别人的下划线源码分析(比如@老姚的underscore库源码分析系列就非常的不错),这个过程有
心累
,有慵懒
,有喜悦
,有收获
,原来坚持去做一件事真的能令人开森,如果你有兴趣,也可以花点时间去阅读下划线,相信你也会有所收获。
下划线的api组成总体来说分成
- object方法类
- 集合方法类
- array方法类
- function方法类
- 工具方法类
所以基本上会按照这样的大的类别划分来书写源码分析的文章,中间可能会结合其他的js知识写一些零碎的文章。(路漫漫其修远兮,要加油啊,吼吼吼)
-
(void 0)与undefined之间的小九九 (2017-5-9)
-
那些不起眼的小工具? (2017-5-10)
-
教你认清这8大杀手锏 (2017-5-11)
-
悄悄地说一个bug (2017-5-12)
-
如何写一个实用的bind? [2017-5-21]
-
你要看看这些有趣的函数方法吗? [2017-5-26]