摘要: 防抖 触发事件后 n 秒后才执行函数,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。 应用场景:用户输入手机号邮箱检测onchange oninput等事件,窗口大小Resize,只需等窗口改变完执行 点击查看代码 ``` const debounce = (fn, wait, immed 阅读全文
posted @ 2023-09-05 17:04 useeee 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 点击查看代码 ``` let imgList = [...document.querySelectorAll('img')] let length = imgList.length const imgLazyLoad = function() { let count = 0 return (func 阅读全文
posted @ 2023-09-05 16:51 useeee 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 点击查看代码 ``` function render(template, data) { const reg = /\{\{(\w+)\}\}/; // 模板字符串正则 if (reg.test(template)) { // 判断模板⾥是否有模板字符串 const name = reg.exec( 阅读全文
posted @ 2023-09-05 16:43 useeee 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 点击查看代码 ``` function parseParam(url) { const paramsStr = /.+\?(.+)$/.exec(url)[1]; // 将 ? 后⾯的字符串取出来 const paramsArr = paramsStr.split('&'); // 将字符串以 & 阅读全文
posted @ 2023-09-05 16:42 useeee 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 点击查看代码 ``` class EventEmitter { constructor() { this.cache = {} } on(name, fn) { if (this.cache[name]) { this.cache[name].push(fn) } else { this.cache 阅读全文
posted @ 2023-09-05 16:37 useeee 阅读(11) 评论(0) 推荐(0) 编辑
摘要: ES6 flat 当数组层数不确定时使用infinity 点击查看代码 ``` [1, [2, [3]]].flat(2) // [1, 2, 3] ``` ES5 递归 点击查看代码 ``` function flatten(arr) { var result = []; for (var i = 阅读全文
posted @ 2023-09-05 16:32 useeee 阅读(5) 评论(0) 推荐(0) 编辑
摘要: ES5 filter 点击查看代码 ``` function unique(arr) { var res = arr.filter(function(item, index, array) { return array.indexOf(item) index }) return res } ``` 阅读全文
posted @ 2023-09-05 16:30 useeee 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 原型链继承 点击查看代码 ``` function Animal() { this.colors = ['black', 'white'] } Animal.prototype.getColor = function() { return this.colors } function Dog() { 阅读全文
posted @ 2023-09-05 16:27 useeee 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 为什么需要异步编程 阅读全文
posted @ 2023-06-14 16:43 useeee 阅读(3) 评论(0) 推荐(0) 编辑
摘要: - 箭头函数与普通函数的区别 1、语法更加简洁清晰 2、箭头函数不会创建自己的this 箭头函数没有自己的this,它会捕捉自己在定义时所处外层执行环境的this,并继承这个this值。所以箭头函数中this的指向在它被定义的时候就已经确定了,之后不再改变。 下面例子中,fun1中setTimeou 阅读全文
posted @ 2023-06-12 20:35 useeee 阅读(35) 评论(0) 推荐(0) 编辑