![7196ef0d713a8c5b929aaf5b4be06ffa.png](https://img-blog.csdnimg.cn/img_convert/7196ef0d713a8c5b929aaf5b4be06ffa.png)
前言
本文总结了项目开发过程中常用的js函数和正则,意在提高大家平时的开发效率,具体内容如下: 1. 常用的正则校验 2. 常用的设备检测方式 3. 常用的日期时间函数 4. 跨端事件处理 5. js移动端适配方案 6. xss预防方式 7. 常用的js算法(防抖,截流,去重,排序,模板渲染,观察者...)
代码
- 正则
// 匹配邮箱
- 检测平台(设备)类型
let
- 常用的日期时间函数
// 时间格式化
- 跨端事件处理
// 是否支持触摸事件
- 移动端适配方案
(function (doc, win) {
var docEl = doc.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
recalc = function () {
var clientWidth = docEl.clientWidth;
var fontSize = 20;
docEl.style.fontSize = fontSize + 'px';
var docStyles = getComputedStyle(docEl);
var realFontSize = parseFloat(docStyles.fontSize);
var scale = realFontSize / fontSize;
console.log("realFontSize: " + realFontSize + ", scale: " + scale);
fontSize = clientWidth / 667 * 20;
if(isIphoneX()) fontSize = 19;
fontSize = fontSize / scale;
docEl.style.fontSize = fontSize + 'px';
};
// Abort if browser does not support addEventListener
if (!doc.addEventListener) return;
win.addEventListener(resizeEvt, recalc, false);
doc.addEventListener('DOMContentLoaded', recalc, false);
// iphoneX判断
function isIphoneX(){
return /iphone/gi.test(navigator.userAgent) && (screen.height == 812 && screen.width == 375)
}
})(document, window);
- xss预防方式
// 敏感符号转义
- 常用的js算法
/**
后期会继续总结更多工作中遇到的经典函数,也作为自己在工作中的一点总结。我们当然也可以直接使用lodash或ramda这些比较流行的函数式工具库,在这里仅做学习参考使用。
附录 lodash API中文翻译思维导图
![2a26a5937d23eb2287ad460e61fb011e.png](https://img-blog.csdnimg.cn/img_convert/2a26a5937d23eb2287ad460e61fb011e.png)
想要获取 lodash思维导图 获得高清源文件,欢迎私信我领取。
更多推荐
- 如何快速掌握es6+新特性及核心语法?
- 15条前端必备的性能优化方法,你知道哪些
- 前端开发中79条不可忽视的知识点汇总
- 《javascript高级程序设计》核心知识总结