字符串
格式化金钱
1 | const thousandNum = num => num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); |
生成随机ID
1 | const randomId = len => Math.random().toString(36).substr(3, len); |
生成随机HEX色值
1 | const randomColor = () => "##" + Math.floor(Math.random() * 0xffffff).toString(16).padEnd(6, "0"); |
生成星级评分
1 | const startScore = rate => "★★★★★☆☆☆☆☆".slice(5 - rate, 10 - rate); |
操作URL查询参数
1 | // https://developer.mozilla.org/zh-CN/docs/Web/API/URLSearchParams |
数值
取整:代替正数的Math.floor()
,代替负数的Math.ceil()
1 | const num1 = ~~ 1.69; |
补零
1 | const fillZero = (num, len) => num.toString().padStart(len, "0"); |
转数值:只对null、""、false、数值字符串
有效
1 | const num1 = +null; |
时间戳
1 | const timestamp = +new Date("2019-03-31"); |
精确小数
1 | const roundNum = (num, decimal) => Math.round(num * 10 ** decimal) / 10 ** decimal; |
判断奇偶
1 | const num = 0; |
取最小最大值
1 | const arr = [0, 1, 2]; |
函数
一次性函数:适用于运行一些只需执行一次的初始化代码
1 | function Func() { |
惰性载入函数:函数内判断分支较多较复杂时可大大节约资源开销
1 | function Func() { |
优雅处理Async/Await参数
1 | function AsyncTo(promise) { |
DOM
显示全部DOM边框:调试页面元素边界时使用
1 | [].forEach.call($$("*"), dom => { |
自适应页面:页面基于一张设计图但需做多款机型自适应,元素尺寸使用rem进行设置
1 | function AutoResponse(width = 750) { |
阻止冒泡
1 | function stopBubble(e) { |
阻止默认行为
1 | //阻止浏览器的默认行为 |