- 博客(38)
- 收藏
- 关注
原创 深拷贝cloneDeep
function getDataType(data) { return Object.prototype .toString() .matchAll(data) .slice(8, -1);}function isCyclic(data) { const arr = []; function detect(data) { if (data && getDataType(data) === 'Object') { if (arr.i
2022-02-15 10:50:19
584
原创 前端项目优化
前端项目优化1、webpack-bundle-analyzer 展示引入的包内容,确定哪些需要优化2、引入dllPlugin和DllReferencePlugin拆分软件包,将特定的包提前构建,通过页面引入3、外部引入cdn4、引入必要的包,避免引而不用5、尽量使用模块化引入,有的包提供用哪块引入哪块6、引入更适合的包,比如用day.js替换momentjs7、按需异步加载,使用箭头函数8、移除console.log...
2022-01-17 11:07:37
469
1
原创 保留小数位数、取舍方式计算
/** * 保留小数位数且根据取舍方式 * 取舍方式枚举值 4四舍五入 | 1只舍不入 | 0只入不舍 */ const getFloatByType = function (num, n, t) { n = n ? parseInt(n) : 0 t = t ? parseInt(t) : 0 if (n <= 0) { if (t === 4) { return Math.round(num) } else if (t === 1) {
2020-06-29 11:16:10
564
原创 获取月数
获取多条列表之间的月数const billList = [{itemId:'3cyuu8',billStartDate:'2018-09-12',billEndDate:'2018-09-22'},{itemId:'3cyuu8',billStartDate:'2018-09-15',billEndDate:'2018-09-30'},{itemId:'3cyuu8',billStartDate:'2018-10-01',billEndDate:'2018-10-30'}]const moment =
2020-06-29 11:08:47
226
原创 vue使用qrcode生成二维码
首先安装qrcodeimport QRCode from 'qrcode' this.$nextTick(() => { let canvas = document.getElementById('canvas') QRCode.toCanvas(canvas, src, function (error) { if (error) ...
2020-04-02 10:27:20
215
原创 身份证校验规则
[{ required: true, errMsg: '身份证号不能为空!' }, { checkFun: (num) => { const kDefaultProvinces = { 11: '北京', 12: '天津', 13: '河北', 14: '山西', 15: '内蒙古', 21: '辽宁', ...
2020-04-02 10:20:22
275
原创 手机号、身份证号、姓名脱敏
身份证function id (value) {return value ? value.replace(/^(\d{6}).*(.{4})$/, ‘$1********$2’) : ‘’}手机号function phone (value) {return value ? value.replace(/^(\d{3}).(.{4})$/, '$1***$2’) : ‘’}姓名...
2020-04-02 10:17:01
758
原创 js将数组中按照相同属性值组合成新的数组
let ListData = [{ StEntId: 1, StEntName: '企业名称企业名称1', EsGrade: 1, OrderDt: '2019-12-01' },{ StEntId: 2, StEntName: '企业名称企业名称2', EsGrade: 4, OrderDt: '2019-12-02' },{ StEntId: 1, StEntName: '企业名称企业名称...
2020-04-02 10:06:12
4988
原创 Mac电脑上解决Chrome浏览器跨域问题
Mac电脑上解决Chrome浏览器跨域问题1、在任何一个位置建一个文件夹2、打开控制台,输入open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=文件所在位置地址敲入回车,Chrome应该会弹出一个窗口,点击启动Google Chrome,在新的浏览器端口进行调试...
2020-01-16 15:55:44
915
原创 获取两个数组交集、并集
获取两个数组的交集/** * @param {Array} arr1 * @param {Array} arr2 * @description 得到两个数组的交集, 两个数组的元素为数值或字符串 */export const getIntersection = (arr1, arr2) => { let len = Math.min(arr1.length, arr2.len...
2019-11-06 15:50:08
1814
原创 解决两个浮点型数字相加、相减精度丢失问题
两字数据相加精确处理/** * @param {*} 数字1 * @param {*} 数字2 * @description 两字数据相加精确处理 */export const addNum = function () { let args = arguments// 获取所有的参数 let d = 0// 定义小数位的初始长度,默认为整数,即小数位为0 let sum...
2019-11-06 15:47:01
2737
原创 获取本周、本月第一天和最后一天
本周第一天export const showWeekFirstDay = function () { var Nowdate = new Date() var day = Nowdate.getDay() if (day === 0) { day = 7 } var WeekFirstDay = new Date(Nowdate - (day - 1) * 86400...
2019-11-06 15:42:01
1114
原创 日期格式化、获取两个日期之间天数、获取指定日期后一天
日期处理日期格式化获取两个日期之间的天数获取指定日期的后一天日期格式化Date.prototype.format = function (format) { var format = format || 'YYYY-MM-DD hh:mm:ss' var d = this var obj = { YYYY: d.getFullYear(), MM: d.getMon...
2019-11-06 14:21:10
189
原创 根据数组对象的某个属性值找到指定的元素
根据数组对象的某个属性值找到指定的元素var datas = [ { "name": "商品房", "bianma": "11" }, { "name": "商铺", "bianma": "12" } ]var data= datas.filter(function(item){ return item...
2019-08-30 09:11:20
581
原创 ios按钮添加点击:active效果不生效
移动端开发的时候实现按钮的点击样式变化,但是在iphone下没有效果显示。原因是在iOS系统的移动设备中,需要在按钮元素或body/html上绑定一个touchstart事件才能激活:active状态。方法一:document.body.addEventListener('touchstart',function(){});方法二:<body ontouchstart="" on...
2019-05-23 18:15:11
1200
原创 jq实现双击点赞效果
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> .ver-video-cover { position: fixed...
2019-05-16 15:44:34
1157
原创 js实现拖拉改变宽度
页面有两个区域,左右都是iframe页面,现在需要实现拖动左侧宽度,右侧iframe的宽度跟着改变。html代码:在这里插入代码片<div class="mainContent"> <div id="sidebar"> <iframe id="frameContentLeft" src="leftApply0.html"></i...
2019-05-16 11:15:49
1555
原创 js实现导出文件
var excelFilePath = "aa.pdf"; var oReq = new XMLHttpRequest(); oReq.open("GET", excelFilePath, true); oReq.responseType = "blob"; oReq.onloa...
2019-05-16 11:05:14
2290
原创 使用mobile-detect.js获取手机型号和系统
获取手机操作系统,判断手机系统平台下载地址https://github.com/hgoebl/mobile-detect.js/使用方法<script type="text/javascript" src="../../js/live/mobile-detect.js"></script> var device_type = navigator.use...
2019-05-16 10:45:05
5842
原创 div中放纯数字或字母不会自动换行
在div css布局中,文字在DIV或任意盒子中超出设置宽度均会自动换行,但是遇到连续英文字母或连续数字在div、p、h2、h1等盒子里排成一排显示不会自动随盒子宽度限制而自动换行。可以使用css将其强制换行:word-wrap:break-word...
2019-05-16 10:16:59
3642
转载 js实现上滑下滑翻页
移动端h5页面上下滑动翻页<!DOCTYPE html><html><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> <meta name="viewport" co...
2019-05-16 10:03:24
8084
1
原创 屏蔽微信自带分享功能菜单
屏蔽微信分享微信浏览的禁止转发和分享,需要调用JSSDK<script type="text/javascript" src="http://res2.wx.qq.com/open/js/jweixin-1.4.0.js"></script>function onBridgeReady() { WeixinJSBridge.call('hideOpti...
2019-05-16 09:14:39
1132
原创 一些常用方法
获取浏览器参数 function getParam() { var search = window.location.search; var tmparray = search.substr(1, search.length).split("&"); var paramsArray = {}; ...
2019-05-16 09:14:27
212
转载 移动端真机调试工具:spy-debugger
页面调试+抓包。调试生产HTTPS页面。特性1、页面调试+抓包2、操作简单3、支持HTTPS。4、spy-debugger内部集成了weinre、node-mitmproxy、AnyProxy。5、自动忽略原生App发起的https请求,只拦截webview发起的https请求。对使用了SSL pinning技术的原生App不造成任何影响。6、可以配合其它代理工具一起使用(默认使用A...
2019-05-16 09:14:10
713
原创 console.logIE8兼容
当你开发控制台时不报错,关闭控制台运行代码时报错。window.console()在ie8中必须打开控制台才能实现,关闭控制台时会报错,在ie9才开始修复该问题。解决这个兼容性问题,有两种方案:去除页面中的console.log()方法 (我是用这种方法处理的,页面中残留的console.log()不多)重写window.console()方法; (function () { ...
2019-05-15 18:01:40
578
原创 js保留指定位数
// 保留几位小数function formatnumber(value, num){ var a, b, c, i; a = value.toString(); b = a.indexOf("."); c = a.length; if (num == 0) { if (b != -1) { a = a.substr...
2019-05-15 17:55:51
1273
原创 css设置超出宽度文本显示...
width:200px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;
2019-05-15 17:46:19
17829
原创 数字之间每隔3位用逗号隔开
var num_s = "1232134456.546 ";var num=parseFloat(num_s).toLocaleString();
2019-05-15 17:44:52
2513
原创 css实现箭头
1、实心箭头:.arrow {width: 0;height: 0;border: 6px solid transparent;border-bottom-color: #7AC161;position: absolute;content: ‘’;}2、空心箭头/下箭头/.down-arrow {display :inline-block;position: relati...
2019-05-15 17:42:23
1740
原创 移动端rem自适应
psdWidth:设计图宽度function rootSize (psdWidth) { var docWidth = document.documentElement.clientWidth; var objHtml = document.getElementsByTagName("html")[0]; if (doc...
2019-05-15 17:33:20
93
原创 js判断终端
var ENV={},userAgent=navigator.userAgent; ENV.inMobile = !!userAgent.match(/applewebkit.*mobile.*/i);// 移动终端 ENV.inAndroid = (userAgent.match(/(Android);?[\s\/]+([\d.]+)?/)) ? true : false; /...
2019-05-15 17:23:39
548
原创 ios 时间格式兼容问题
ios不兼容 yyyy-MM-dd HH:mm:ss 这种时间格式,需要替换成 yyyy/MM/dd HH:mm:ss格式。完美兼容所有平台的时间戳:var arr = dateStr.split(/[- :]/);let nndate = new Date(arr[0], arr[1] - 1, arr[2], arr[3], arr[4], arr[5]);nndate=Date....
2019-05-15 17:17:32
707
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人