积跬步,至千里
精前端,通全栈

lodash源码学习——camelCase、capitalize、upperFirst、words、slice函数

_.camelCase函数是依赖_.capitalize_.words函数,而_.capitalize依赖_.upperFirst,其中依赖中间模块最多的是_.upperFirst函数。相关依赖简单结构如下:

其他相似的函数会有许多,这里就不重复相似的函数了,如_.upperCase_.lowerFirst

源码学习

./camelCase.js

./words.js

_.words_.camelCase方法中起到了重要作用,同时,本身也是lodash开放的函数。

./.internal/unicodeWords.js

这个模块都是正则,就是用来匹配一下字符串而已。

./capitalize.js

_.capitalize比较简单,依赖_.upperFirst

./upperFirst.js

./.internal/createCaseFirst.js

./.internal/hasUnicode.js

./.internal/stringToArray.js

调式看效果:
tim 20180122144202

./.internal/castSlice.js

./slice.js

最终到_.slice方法

总结

本次源码学习主要涉及的知识点都是基础性的,正则的使用和判断,字符串的大小写转换方法,字符串转数组,比较少用的无符号位移运算等,虽说都是基础的语法知识点,但是写好、代码精简、鲁棒性高等也是需要好好练的。


源码+测试代码见lodash-sourcecode-study
前端学堂:felearn.com

赞(0) 打赏
未经允许不得转载:前端学堂 » lodash源码学习——camelCase、capitalize、upperFirst、words、slice函数

讨论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端实战学习群 学以致用,进步更快

demo演示立即加入

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏