复习
文章平均质量分 84
用来复习的
江江春
莘莘学子
展开
-
VUE3学习
本质是一个函数,把setup函数中使用的CompositionApi进行了封装将数据,方法,声明周期钩子全部封装到另一个模块。原创 2022-07-29 17:55:53 · 215 阅读 · 0 评论 -
this指针
自然调用,指向window定义的变量存在暂时性死区,而且不会挂载到window对象上,因此print中是无法获取到a和b的。foo虽然在obj的bar函数中,但foo函数仍然是独立运行的,foo中的this依旧指向window对象。与2类似this指向window。...原创 2022-08-18 17:45:13 · 188 阅读 · 1 评论 -
单调栈、图、并查集与前缀树
单调栈的本质是空间换时间,因为在遍历的过程中需要用一个栈来记录右边第一个比当前元素高的元素,优点是只需要遍历一次。1、单调栈里存放的元素是什么?单调栈里只需要存放元素的下标i就可以了,如果需要使用对应的元素,直接T[i]就可以获取。2、单调栈里元素是递增呢?还是递减呢?.........原创 2022-08-09 16:52:56 · 201 阅读 · 0 评论 -
js背记过程
js数据类型null undefined boolean number string object symbol Bignumintsymbol:代表创建后独一无二的数据类型,解决可能出现的变量冲突原始数据:存在栈中,大小不固定,占用空间少,引用数据:存在堆中,大小固定,占用空间大,一般在堆中存在指针栈:先进后厨,编译器自动分配释放堆:优先级队列,开发者分配释放检测数据类型的方法(4我好不容易记住一次,你却让我忘得这么彻底,co)type of 检测....原创 2021-11-27 23:19:30 · 111 阅读 · 0 评论 -
html查漏补缺
4. script标签中defer和async的区别metaname contentnamecharset(茶)keyweods(我)descripton(递)refresh(刷)viewport(视)robots(搜)我视搜递茶刷html5新特性语义化标签媒体标签(audio video)表单进度条DOM查询操作(queryselector)web存储(local,session)与美飙禁毒委img的srcet作用根据屏幕..原创 2021-11-26 17:08:46 · 99 阅读 · 0 评论 -
css背记过程
css选择器优先级艾蕾鼠尾标为元素相邻,子,后代来源优先级内联样式,内部样式,外部样式,浏览器字段定义,浏览器默认display属性noneblockinlineinline-blocktableinherit从父元素继承block、inline、inline-blockblock:独占一行,可以设置w,h,margin,paddinginline:不独占一行,w,h无效,水平方向的margin和paddinginline-block:将对原创 2021-11-26 20:46:07 · 116 阅读 · 0 评论 -
vue背记过程
vue基本原理创建vue实例时,vue会遍历data中的属性,用Object.definProperty将他们转为getter/setter。双向数据绑定采用数据劫持,结合发布订阅这模式,通过Object.defineProperty(),来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。MVVM、MVC、MVP区别时三种常见的软件架构设计模式,通过分离关注点的方式来组织代码结构,优化开发效率。MVC分离model,view,con..原创 2021-11-29 18:27:36 · 142 阅读 · 0 评论 -
react
1. 事件机制在document处监听了所有事件。减少消耗,统一处理。冒泡的事件也非原生事件,而是合成事件,调用 是无效的,而应该调用 。2. react事件与普通事件的不同 1.原生事件全小写,react事件小驼峰 2.事件函数处理语法,原生事件字符串,react事件为函数 3.不能用return false 来组织浏览器的默认行为,用prenventDefault3. react对事件合成做了两件事4.HOC,render props,hooks(高优,需要自原创 2022-06-07 18:19:10 · 496 阅读 · 0 评论 -
浏览器原理
浏览器安全xss攻击指跨站脚本攻击,在网站注入恶意脚本,使之在用户的浏览器上运行,盗取用户信息。没有对恶意代码进行过滤,与正常的代码混合在一起了。可以进行的操作获取页面数据 破坏页面结构 流量劫持 dos攻击,发送合理请求,占用服务器资源攻击类型存储型,恶意脚本会存储在目标服务器上 反射型: DOM型:通过修改页面的dom结构形成xss防御方法使用csp,csp本质是建立一个白名单,告诉浏览器那些外部资源可以加载和执行,防止恶意代码的注入攻击 浏览器的执行来防御,原创 2021-12-01 15:17:12 · 215 阅读 · 0 评论 -
计算机网络
post与putpost创建新数据put更新数据304服务器根据缓存内容判断页面与之前是否相同,若相同则返回304options获取服务器支持的所有http请求方法用来检查访问权限http1.0与http1.1区别(链子换)1、连接方面:http1.0使用非持久连接,http1.1使用持久连接。持久连接来使多个http请求复用一个tcp连接2、资源请求方面:http1.0中存在浪费宽带的现象,传送整个资源,1.1允许请求资源的某个部分’3、缓存........原创 2021-12-02 11:11:31 · 74 阅读 · 0 评论 -
webPack原理
loader分为顺序为从下到上loader本质是一个函数,把要处理的文件作为参数,进行处理之后再返回一个文件最简单的loaderloader的定义方式同步loader this.callback是指调用下一个loader类似链表 调用callback执行下一个loader,此时是异步操作。默认情况下,资源文件会被转化为 UTF-8 字符串,然后传给 loader。通过设置 raw 为 true,loader 可以接收原始的 BufferPitching Loader原创 2022-07-09 17:48:07 · 2057 阅读 · 0 评论 -
nodejs面经
nodejs并不是真正的单线程架构,其中还有I/O线程,这些线程是由更底层的libuv/原创 2022-07-17 19:53:41 · 1096 阅读 · 2 评论 -
Nodejs学习
若require()的模块不是一个内置模块,也没有以庐江开头。Node.js会从当前模块的父目录开始尝试从/node_module中加载。原创 2022-07-15 17:15:26 · 492 阅读 · 0 评论 -
Webpack
1、promise.then 当状态被改变(两个方法被调用的时候才进行微任务的操作)才执行,否则不执行2、promise的字符串形式:<resolved>: resolue13、原创 2022-06-13 10:05:23 · 69 阅读 · 0 评论 -
十大排序详解
第一层循环遍历外层length-1个项,对前length-1个数排序内层循环遍历到length-i-1,对前length-i-1个数冒泡。原创 2022-07-26 17:02:03 · 355 阅读 · 0 评论 -
redux与vuex
1、单一数据源2、state只读:唯一改变state的方法就是触发actionstore.dispatch()3、使用纯函数来执行修改:自己编写reducer功能提供getState:获取state提供dispatch:发送acton提供subscribe:注册监听 mapStateToProps(state,ownProps):那个组件想用propsmapDispatchToProps(dispatch,ownProps):那个组件要发送props 发送方: 接收方: state1、创建muta原创 2022-07-14 14:41:19 · 476 阅读 · 0 评论 -
javaScript拾遗
跨域资源共享,有一些列HTTP响应头组成,这些HTTP响应头决定浏览器是否能阻止前端js代码跨域获取资源。配置了CORS相关的HTTP响应头就可以解决跨域限制。origin指定了允许访问该资源的url,那些网页可以访问资源cors仅支持9个请求头,Access-Control-Allow-Headers允许对额外的请求头声明默认情况,cors仅支持客户端发起GET、POST、HEAD请求若希望发起PUT、DDELETE等请求,需要Access-Control-Allow-Methods设置支持的方法。...原创 2022-07-24 19:47:38 · 408 阅读 · 0 评论 -
查漏补缺中
QUIC(想用udp替代tcp。)v8内存结构 垃圾回收主要集中在新生代和老生代新生代:由两个半空间组成,采用Scavenge(牺牲空间换取时间的算法)1、激活空间称为from,未激活称为to。程序被分配到from空间,2、进行垃圾回收时,若from空间有存活对象将其复制到to。其余垃圾回收,角色互换。3、对象晋升:当一个对象多次复制依旧存活则将其放入老生代。老生代:管理大量存活对象,采用标记清楚和标记整理reconciliation(diff),commit(操作DOM)reconciliation是一个原创 2022-07-07 11:54:13 · 278 阅读 · 0 评论 -
RegExp
JavaScript RegExp 对象有3个方法:test()、exec()、compile()正则表达式是匹配模式,要么匹配字符,要么匹配位置.各种方式结合,取交集$\b① \w和\W之间的位置② ^与\w之间的位置③ \w与$之间的位置\B① \w与\w之间的位置② \W与\W之间的位置③^与\W之间的位置④\W与$之间的位置(?=p)(?.........原创 2021-11-16 14:58:46 · 94 阅读 · 0 评论 -
diff算法
diff算法只会同层对比,是深度优先 接下来就以上面代码为例,分析一下比较的过程分析之前,请大家记住一点,最终的渲染结果都要以newVDOM为准,这也解释了为什么之后的节点移动需要移动到newVDOM所对应的位置比较结果: 相等,需要把移动到所对应的位置,也就是末尾,同时,比较结果:相等,需要把移动到所对应的位置,同时,正在上传…重新上传取消比较结果:相等,需要把移动到所对应的位置,同时,正在上传…重新上传取消,则先遍历完成了,而还没遍历完,说明,所以需要将多出来的节点,插入到真实DOM上原创 2022-06-23 14:54:55 · 158 阅读 · 0 评论 -
动态规划详解
如果求组合数就是外层for循环遍历物品,内层for遍历背包。如果求排列数就是外层for遍历背包,内层for循环遍历物品。若是01背包,则从后往前,否则从前往后首先考虑步骤,比如背包问题,步骤就是一个一个放入物品,怎样放入物品才是最优解。每一个物品有两步放,不放。观察全局决定放还是不放。(从头往后退看是否要放入)再比如上台阶问题,步骤就是跨步,跨几步是最优解,每次可以跨一步或者两步。观察全局决定跨一步还是两步。(从头往后退,每次是一步最优还是两步最优)凡是一步一步地问题,下个状态有依赖于上一个状态的问题考虑用原创 2022-06-26 19:16:57 · 218 阅读 · 0 评论 -
回溯算法详解
组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一个N个数的集合里有多少符合条件的子集排列问题:N个数按一定规则全排列,有几种排列方式棋盘问题:N皇后,解数独等等因为回溯法解决的都是在集合中递归查找子集,集合的大小就构成了树的宽度,递归的深度,都构成的树的深度。 回溯法三部曲1 递归函数的返回值以及参数2 回溯函数终止条件3 单层搜索的过程排列问题:N个数按一定规则全排列,有几种排列方式子集问题:一个N个数的集合里有多少符合条件原创 2022-06-25 16:26:16 · 1480 阅读 · 0 评论