Skip to content

toFrankie/javascript-utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

966d2c1 · Oct 26, 2024

History

67 Commits
May 30, 2022
Oct 26, 2024
Sep 16, 2023
May 30, 2022
May 30, 2022
Mar 15, 2023
May 30, 2022
May 30, 2022
Mar 15, 2023
May 30, 2022
Apr 29, 2024
Mar 15, 2023
Mar 15, 2023

Repository files navigation

javascript-utils

仅供参考学习,实际中应使用如 lodash-eslicia 等工具库。

存放于 src/utils 目录下。

1. convert2Pinyin.js

中文转拼音,Demo 在 examples/convert2Pinyin.html,思路看文章。或许你需要的是 pinyin-propinyin

2. checkIdNumber.js

最全面的身份证号码校验,支持 15 位和 18 位的身份证号码(文章)。

3. getSubdomain.js

获取当前 URL 的二级域名(如 baidu.com),兼容 IP 地址。可应用于设置 cookie 的 domain 参数

4. isArray.js

判断一个值是否为数组的方法。请注意,利用 typeofinstanceof 或者原型来判断是太严谨的,具体原因看下这篇文章

5. getClass.js

判断一个值的类型,可区分“对象”(包括基于 Object 派生的其他类型,如 Object、Array、Function、Date、RegExp 等)。关于 JavaScript 的数据类型分类,看下这篇文章

6. deepCopy.js

自实现的深拷贝方法,主要面向学习与面试,详细的实现思路请看文章

请注意,如果生产环境使用 JSON.stringify() 无法解决你的需求,请使用 Lodash 库的 _.cloneDeep() 方法,那个才叫面面俱到。千万别用我这方法,切记!

7. debounce.js

函数防抖,思路请看文章

8. throttle.js

函数节流,思路请看文章

9. queryUrlValue.js

关于 JavaScript 获取 URL 上的参数值,思路请看文章

┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                              href                                              │
├─────────────┬─────────────────────┬────────────────────────┬──────────┬────────────────┬───────┤
│   origin    │                     │         origin         │ pathname │     search     │ hash  │
├──────────┬──┼─────────────────────┼────────────────────────┤          │                │       │
│ protocol │  │ username │ password │          host          │          │                │       │
│          │  │          │          ├─────────────────┬──────│          │                │       │
│          │  │          │          │    hostname     │ port │          │                │       │
│          │  │          │          │                 │      │          │                │       │
"  https:   //    user   :   pass   @ sub.example.com : 8080   /p/a/t/h    ?query=string   #hash "
│          │  │          │          │                 │      │          │                │       │
└──────────┴──┴──────────┴──────────┴─────────────────┴──────┴──────────┴────────────────┴───────┘
(All spaces in the "" line should be ignored. They are purely for formatting.)

10. cookie.js

对 Cookie 的增删改查,可以更简便地操作。

持续更新中...