![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JS
j73909
这个作者很懒,什么都没留下…
展开
-
DOM中各类继承关系
原创 2021-01-05 11:05:36 · 240 阅读 · 0 评论 -
json对象层序遍历例题
var obj = { a: { b: { c: { f: "aa" } }, d: { e: { g: "bb" }, h: { i: "cc" } }, j: { k: "dd" } } }// [f,g,i,c,e,h,k,b,d,j,a]function ff(obj) { let arr = [obj] let ans = [] let temp = [] let output = [] while(arr.length) { let i原创 2020-12-14 16:50:04 · 138 阅读 · 0 评论 -
JS手写IndexOf
function myIndexOf(str1, str2) { for(let i = 0; i < str1.length; i++) { let p1 = i, p2 = 0 while(str1[p1] === str2[p2] && p2 < str2.length) { p2++ p1++ } if(p2 === str2.length) return i } return -1}原创 2020-11-20 18:38:28 · 590 阅读 · 1 评论 -
JS链式调用异步方法
希望实现如下Tom.eat('breakfirst').sleep(3000).eat('lunch').sleep(3000).eat('dinner')依次打印:breakfirst sleep(等3秒)lunchsleep(等3秒)dinnerclass Person{ constructor() { this.queue = [] setTimeout(() => { this.next() })...原创 2020-10-30 17:51:59 · 895 阅读 · 0 评论 -
JS专属求所有子集方法
const f = arr => ( arr.reduce((prev, next) => [ ...prev, ...prev.map(item => [next, ...item]) ], [[]]))原创 2020-10-20 21:05:06 · 1128 阅读 · 0 评论 -
统计body中所有标签出现的频率
Array.from(document.body.getElementsByTagName('*')).map(tag => tag.tagName).reduce((cur,next) => { if(cur[next]) cur[next]++ else cur[next] = 1 return cur}, {})原创 2020-10-10 11:31:16 · 114 阅读 · 0 评论 -
关于JS中对象的深拷贝问题
1、最简单最省事JSON问题:function 和 undefined 两种类型的值会被忽略(不考虑自定义和API中提供的复杂类型)function clone(obj) { return JSON.parse(JSON.stringify(obj))}2、使用JQuery问题:循环引用会导致内存溢出$.extend( [deep ], target, object1 [, objectN ] )3、自己实现版本1.0,简单实现,递归运行效率低,次数过多的话容易造成原创 2020-10-09 15:22:19 · 166 阅读 · 0 评论 -
文件上传能想到的点
1、uploader、axios.post,进度条 (基础,这都想不到别往下看了,先动手做做吧)2、拖拽、复制粘贴3、分片、断点续传4、限制文件格式(读取文件头信息),判断文件唯一性(md5计算hash、webwork异步处理计算量过大、时间切片、抽样)5、文件切片过多,请求过多,导致卡顿(暂时想到promise 控制并发数量)6、上传报错怎么重试,重试报错怎么停止7、切片大小怎么根据设备或网络带宽进行控制8、待补充……...原创 2020-05-22 11:43:58 · 233 阅读 · 0 评论