- 博客(9)
- 收藏
- 关注
原创 promise的all race的实现
promise.Alllet p=function(time) { return new Promise((resolve,reject)=>{ setTimeout(()=>{ resolve(time) },time) }) }//先定义两个promise对象let p1=p(1000);let p2=p(2000)let promiseAll=function (promise) { let promi
2021-07-17 13:26:33 174 1
原创 数组扁平化
一、递归let arr=[12,2,[121,31,[1,2,3,[1]]]]; function flatten(arr) { let res=[]; for (item of arr) { if(Array.isArray(item)){ res=res.concat(flatten(item)) }else{ res.push(item) } }; return res
2021-06-05 17:27:37 100
原创 2021-06-05 对象扁平化
let obj={ a:1, b:[1,2,3,{a:1}], c:{d:12,e:[1,2,{r:1}]}}function flatten(obj){ let res={} function process(key,value){ if(typeof value !=='object'){ res[key]=value; }else if(Array.isArray(value)){
2021-06-05 16:11:38 133
原创 深拷贝与浅拷贝
数据类型基本数据类型的特点:直接存储在栈(stack)中的数据引用数据类型的特点:存储的是该对象在栈中引用,真实的数据存放在堆内存里赋值与浅拷贝与深拷贝1、赋值当我们把一个对象赋值给一个新的变量时,赋的其实是该对象的在栈中的地址,而不是堆中的数据。也就是两个对象指向的是同一个存储空间,无论哪个对象发生改变,其实都是改变的存储空间的内容,因此,两个对象是联动的。2、浅拷贝只拷贝第一层而第一层中有引用类型还是只copy地址浅拷贝是按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份
2021-05-17 11:49:08 227
原创 防抖和节流
区别:防抖debounce是最后一次事件执行。当规定时间内再次触发事件的时候,定时器会重新进行计时,只有当触发 事件 后规定时间内不再次触发执行事件。节流throttle是指定时间间隔内只会执行一次任务。多次触发事件的时候,规定时间内只会触发一次。相同点:1、其实本质上都是为了节省程序的性能(防止高频函数调用)2、借助了闭包的特性来缓存变量(状态)3、都可以使用setTimeout实现不同点1、使用防抖,可能N个delay时间间隔之后fn也没执行,但是使用节流触发的delay间隔内有且
2021-05-13 16:39:36 170
原创 闭包 使用场景
一、闭包概念闭包就是能够读取其他函数内部变量的函数。或简单理解为定义在一个函数内部的函数,内部函数持有外部函数内变量的引用。二、闭包作用1、读取函数内部的变量2、让这些变量的值始终保持在内存中。不会再f1调用后被自动清除。3、方便调用上下文的局部变量。利于代码封装。原因:f1是f2的父函数,f2被赋给了一个全局变量,f2始终存在内存中,f2的存在依赖f1,因此f1也始终存在内存中,不会在调用结束后,被垃圾回收机制回收。三、闭包缺点1、由于闭包会使得函数中的变量都被保存在内存中,内
2021-05-13 14:22:26 241
原创 关于for循环中使用setTimeout的四种解决方案闭包
关于for循环中使用setTimeout的四种解决方案setTimeout会先将回调函数放到等待队列中,等待区域内其他主程序执行完毕后,按时间顺序先进先出执行回调函数。本质上是作用域的问题。因此若是这样将不会得到想要的结果输出1.2.3.4.5,而会连续输出5个6。for (var i=1; i<=5; i++) { setTimeout( function timer() { console.log( i ); }, i*1000 );// 6 6 6 6 6
2021-05-13 12:37:35 660
原创 大文件分片上传
大文件分片上传参考https://www.jianshu.com/p/da8ad489095e其实我所理解的大文件分片上传 原理是 先将文件分片上传到一个临时文件服务器 ,文件在服务器合并后返回地址,存在前端的list列表的对象中,然后在全部上传完成后点击编辑完成带着这些对象路径给后台,后台在根据路径 ,复制到对应的数据集文件夹下面,而自己所谓的删除也只是假删除,只是在改数据集下 的文件被删了 ,存放该文件的原始路径还有,并且还存在临时文件服务器中我们的后台应该是结合了fastdfs , 下次上传的时候
2021-04-29 14:24:53 532
原创 vue 调用pc端本地摄像头、麦克风实现拍照、录视频、录音 并上传到服务器指定树文件夹
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-04-29 10:40:57 4554 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人