
【杂七杂八的小知识点】
文章平均质量分 54
简单记录遇到的小问题,共勉
耳东呀呀
这个作者很懒,什么都没留下…
展开
-
梳理webpack
1、有哪些常见的Loader?他们是解决什么问题的?2、Loader和Plugin的不同?3、是否写过Loader和Plugin?描述一下编写loader或plugin的思路?4、webpack的热更新是如何做到的?说明其原理?5、如何提高webpack的构建速度?6、npm打包时需要注意哪些?如何利用webpack来更好的构建?7、如何在vue项目中实现按需加载?...转载 2021-10-29 16:02:58 · 183 阅读 · 0 评论 -
WebSocket
webSocket使用原因客户端(浏览器)与服务端(服务器)通信时,传统的http请求不能较好的满足需求(无法做到实时接收消息,服务端无法主动推送信息)。注:基于http的请求做到实时接收消息可以通过ajax的轮询解决,但是会存在有多与请求(浪费资源)、获取数据有延迟等问题;服务端也可以采取堵塞性的方案,服务端将客户端发送的ajax请求挂起直到有新数据返回;HTTP协议超文本传输协议、是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP),通过使用网页浏览器、网络爬虫原创 2021-10-13 15:58:06 · 251 阅读 · 0 评论 -
for in,for of,for三者区别
forfor循环可以使用return 和 break来跳出for in可以用来遍历对象和数组,但是更适合遍历对象for of只有具有iterator 这个属性的淑女结果才能使用for of如下数据结构具有:数组 Array Map Set String arguments对象 Nodelist对象, 就是获取的dom列表集合不能循环对象,如果想要循环对象 可以配合Object.keyslet obj = {a: '1', b: '2', c: '3', d: '原创 2021-10-08 17:33:00 · 111 阅读 · 0 评论 -
垃圾回收机制与闭包
垃圾回收机制如果一个对象不再被引用,那么这个对象就会被垃圾回收机制回收;如果两个对象互相引用,且不被第三个对象所引用,那么这两个互相引用的对象也会被回收。(注:在闭包中,父函数被子函数引用,子函数又被外部函数的变量引用,这就是父函数不被回收的原因)垃圾回收机制通常有两种方法:1、标记清除在一个函数中设置一个变量,就将这个变量标记为‘进入环境’,从逻辑上来说,永远不会释放进入环境所占得内存(因为只要执行流进入相应的环境,就会被用到)。而当变量离开环境时,就会被标记‘离开环境’;垃圾原创 2021-10-08 17:30:01 · 244 阅读 · 0 评论 -
async await和promise执行顺序
转载:https://segmentfault.com/a/11900000172247991、带async关键字的函数,它是得函数的返回值必定是promise对象2、遇到await,是从右到左执行3、await等到之后,做的事情; 分为两种情况,不是promise和是promise如果不是promise,await会阻塞后边的代码,先执行async外边的同步代码,同步代码执行完成后再回到async内部,把这个非promise的东西,作为await表达式的结果如果是p...转载 2021-07-08 16:08:22 · 704 阅读 · 0 评论 -
函数柯里化
函数柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。// 普通的add函数function add(x, y) { return x + y}// 柯里化后function curryingAdd(x) { return function (y) { return x + y }}add(1, 2) // 3curryingAdd(1原创 2021-03-01 11:53:39 · 163 阅读 · 0 评论 -
虚拟DOM和Diff算法
浏览器渲染引擎工作流程大致分为五步:创建Dom树--->创建styleRules--->创建Render树--->布局Layout--->绘制PaintingDom树的构建是文档加载完成开始的吗?(不是)Dom树是一个渐进过程,为了更好的用户体验,渲染引擎会尽快将内容显示在屏幕上,它不必等到整个HTML文档解析完毕之后才开始构建render树和布局render树是dom树和cssom树构建完毕才开始构建的吗?(不是)一边加载,一边解析,一边渲染(不完全独立,..原创 2021-02-28 16:57:17 · 112 阅读 · 0 评论 -
promise--又双叒叕学
了解promise之前需要先了解什么是异步编程异步编程:我们知道Javascript语言的执行环境是"单线程"。也就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务。但是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。因此出现了两种模式:同步和异步异步任务就是不具有”堵塞“效应Promise就是异步编程的解决方案之一Promise本身是一个对象,是一个构造函数,它需要传入一个参数,并且这个参数必须是函数;传入的这个函.原创 2021-02-09 13:37:25 · 281 阅读 · 3 评论 -
Blob实现文件导出
import axios from 'axios';import { getSessionStorage} from './storage';axios.defaults.headers = { 'X-Requested-With': 'XMLHttpRequest'};axios.defaults.timeout = 1000 * 60 * 10;function actionDownload(href, filename) { const aLink = document.原创 2021-01-21 22:14:26 · 641 阅读 · 0 评论 -
formData格式化
formData用于新增时,表单项中包括含文件上传,此时使用formData传参,post请求,‘Content-Type’: ‘multipart/form-data’/** * * * @param {Object} obj 新增是表格各项整合的对象 * @param {boolean} isArray 是否是数组 * */export function obj3FormData(obj, form, namespace, isArray) { let formDat原创 2020-09-29 14:37:03 · 675 阅读 · 0 评论