Hefty

Results 107 issues of Hefty

本文为读 lodash 源码的第三百二十四篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 依赖 ```javascript import createCaseFirst from './.internal/createCaseFirst.js' ``` [《lodash源码分析之createCaseFirst》](https://github.com/yeyuqiudeng/pocket-lodash/issues/311) ## 源码分析 `lowerFirst` 的作用是将第一个字符变成小写。 源码如下: ```javascript const lowerFirst = createCaseFirst('toLowerCase') ``` 其实就是调用 `createCaseFirst` 工厂方法来生成,第一个字符会调用 `toLowerCase` 方法来转换。...

系列文章
api

本文为读 lodash 源码的第三百二十三篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 依赖 ```javascript import words from './words.js' import toString from './toString.js' ``` [《lodash源码分析之words》](https://github.com/yeyuqiudeng/pocket-lodash/issues/314) [《lodash源码分析之toString》](https://github.com/yeyuqiudeng/pocket-lodash/issues/252) ## 源码分析 `lowerCase` 的方法是将字符串转换成小写。和原生的 `toLowerCase` 方法不一样的地方在于,`lowerCase` 会对字符串进行分词,每个单词用空格连接,特殊字符会被移除。 源码如下: ```javascript const reQuotes...

系列文章
api

本文为读 lodash 源码的第三百二十二篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 依赖 ```javascript import words from './words.js' import toString from './toString.js' ``` [《lodash源码分析之words》](https://github.com/yeyuqiudeng/pocket-lodash/issues/314) [《lodash源码分析之toString》](https://github.com/yeyuqiudeng/pocket-lodash/issues/252) ## 源码分析 `kebabCase` 用来将字符串转换成用 `-` 号连词的形式。 如将 `fooBar` 转换成 `foo-bar` 。...

系列文章
api

本文为读 lodash 源码的第三百二十一篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 源码分析 `escapeRegExp` 会对在正则表达式中有特殊含义的字符进行转义。 即如下这些字符: ```javascript "^", "$", "\", ".", "*", "+", "?", "(", ")", "[", "]", "{", "}", "|" ``` 源码如下: ```javascript const reRegExpChar...

系列文章
api

本文为读 lodash 源码的第三百二十篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 源码分析 `escape` 会对 `&` 、`` 、`"` 和 `'` 这些 `HTML` 实体进行编码。 源码如下: ```javascript const htmlEscapes = { '&': '&', '': '>', '"': '"', "'":...

系列文章
api

本文为读 lodash 源码的第三百一十九篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 源码分析 `endsWith` 判断字符串是否以传入的 `target` 字符串结尾,`endsWith` 支持传入 `position` 参数,表示搜索的结束位置。 源码如下: ```javascript function endsWith(string, target, position) { const { length } = string position = position...

系列文章
api

本文为读 lodash 源码的第三百一十八篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 依赖 ```javascript import deburrLetter from './.internal/deburrLetter.js' ``` [《lodash源码分析之deburrLetter》](https://github.com/yeyuqiudeng/pocket-lodash/issues/318) ## 源码分析 > 转换字符串`string`中[拉丁语-1补充字母](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) 和 [拉丁语扩展字母-A](https://en.wikipedia.org/wiki/Latin_Extended-A) 为基本的拉丁字母,并且去除组合变音标记。 例如: ```javascript deburr('déjà vu') // => 'deja vu' ```...

系列文章
api

本文为读 lodash 源码的第三百一十七篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 依赖 ```javascript import basePropertyOf from './basePropertyOf.js' ``` [《lodash源码分析之basePropertyOf》](https://github.com/yeyuqiudeng/pocket-lodash/issues/317) ## 源码分析 `deburrLetter` 可以传入一个 `unicode` 字符,然后得到这个 `unicode` 字符对应的拉丁基础字符。 源码如下: ```javascript const deburredLetters = { // Latin-1...

系列文章
internal

本文为读 lodash 源码的第三百一十六篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 源码分析 `basePropertyOf` 会支持传入一个对象 `object` ,然后返回一个函数。 源码如下: ```javascript function basePropertyOf(object) { return (key) => object == null ? undefined : object[key] } ``` 可以看到,返回的函数支持传入属性 `key`...

系列文章
internal

本文为读 lodash 源码的第三百一十五篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 依赖 ```javascript import upperFirst from './upperFirst.js' import toString from './toString.js' ``` [《lodash源码分析之upperFirst》](https://github.com/yeyuqiudeng/pocket-lodash/issues/312) [《lodash源码分析之toString》](https://github.com/yeyuqiudeng/pocket-lodash/issues/252) ## 源码分析 `capitalize` 会将字符串的第一个字母变大写,除第一个字母外其它变成小写。 源码如下: ```javascript const capitalize = (string) =>...

系列文章
api