摘要: let arr = [1, 2, [3, 4, 5, [6, 7], 8], 9, 10, [11, [12, 13]]] const flatten = function (arr) { while (arr.some(item => Array.isArray(item))) { arr = [ 阅读全文
posted @ 2019-07-17 17:46 Jay_Lo 阅读(112) 评论(0) 推荐(0) 编辑
摘要: cookie会自动携带上,而token需要设置header才可带上; xss: 劫持cookie或者localStorage,从而伪造用户身份相关信息。前端层面token会存在哪儿?不外乎cookie localStorage sessionStorage,这些东西都是通过js代码获取到的。解决方案 阅读全文
posted @ 2019-07-17 10:04 Jay_Lo 阅读(724) 评论(0) 推荐(0) 编辑
摘要: 1. 防抖 触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间 思路: 每次触发事件时都取消之前的延时调用方法 高频事件触发,但在n秒内只会执行一次,所以节流会稀释函数的执行频率 思路: 每次触发事件时都判断当前是否有等待执行的延时函数 阅读全文
posted @ 2019-07-11 17:23 Jay_Lo 阅读(126) 评论(0) 推荐(0) 编辑
摘要: // onlyNumber.js var onlyNumber = { inserted(el, vDir, vNode) { // vDir.value 有指令的参数 let content; //按键按下=>只允许输入 数字/小数点 el.addEventListener("keypress", 阅读全文
posted @ 2019-07-09 11:44 Jay_Lo 阅读(562) 评论(0) 推荐(0) 编辑
摘要: const isType = (obj, type) => { if (typeof obj !== 'object') return false; const typeString = Object.prototype.toString.call(obj); let flag; switch (t 阅读全文
posted @ 2019-05-27 14:47 Jay_Lo 阅读(146) 评论(0) 推荐(0) 编辑
摘要: splitArray(data, key) { var newlist = []; var posIdx = [] for(var i = 0; i < data.length - 1; i++) { if(data[i][key] != data[i + 1][key]) { posIdx.pus 阅读全文
posted @ 2019-04-09 16:43 Jay_Lo 阅读(254) 评论(0) 推荐(0) 编辑