摘要:当客户端向服务器请求资源时,会先抵达浏览器缓存,如果浏览器有“要请求资源”的副本,就可以直接从浏览器缓存中提取而不是从原始服务器中提取这个资源。http缓存一般针对GET请求,POST请求一般不会缓存,因为POST请求执行的任务都是对服务器产生副作用或者非幂等性的任务,既然要改变服务器资源,自然请求是要进入服务器进行处理的。缓存带来的好处是巨大的,减少了http请求,自然也就减少的服务端压力,并且增加了资源的访问速度,但是胡乱使用缓存,将会带来资源的不及时更新,甚至资源更新错位,灾难也是巨大的。 阅读全文
posted @ 2019-08-20 15:48 魑魅魍魉_killer 阅读 (273) 评论 (0) 编辑
摘要:单列模式应用非常广泛,有些场景下某些对象只需要一个,比如浏览器中的window对象,全局缓存对象等。在实际开发过程中应用也比较多,比如点击一个按钮产生一个登陆框,无论点击多少次都应该只在第一次产生这个登录框,而在后面点击N次也只能是复用这个登陆框,而非重新创建,这样的场景就可以使用单列模式来创建这个登陆框。 阅读全文
posted @ 2019-08-15 10:32 魑魅魍魉_killer 阅读 (146) 评论 (0) 编辑
摘要:深度优先遍历(Depth-First-Search),是搜索算法的一种,它沿着树的深度遍历树的节点,尽可能深地搜索树的分支。当节点v的所有边都已被探寻过,将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已探寻源节点到其他所有节点为止,如果还有未被发现的节点,则选择其中一个未被发现的节点为源节点并重复以上操作,直到所有节点都被探寻完成。广度优先遍历(Breadth-First-Search)是从根节点开始,沿着图的宽度遍历节点,如果所有节点均被访问过,则算法终止,BFS 同样属于盲目搜索,一般用队列数据结构来辅助实现BFS 阅读全文
posted @ 2019-08-05 17:28 魑魅魍魉_killer 阅读 (168) 评论 (0) 编辑
摘要:1. 基本类型有哪几种?null 是对象吗?基本数据类型和复杂数据类型存储有什么区别? 基本类型有6种,分别是undefined,null,bool,string,number,symbol(ES6新增)。 虽然 typeof null 返回的值是 object,但是null不是对象,而是基本数据类 阅读全文
posted @ 2019-07-21 16:25 魑魅魍魉_killer 阅读 (35) 评论 (0) 编辑
摘要:说起双向绑定可能大家都会说:Vue内部通过Object.defineProperty方法属性拦截的方式,把data对象里每个数据的读写转化成getter/setter,当数据变化时通知视图更新。虽然一句话把大概原理概括了,但是其内部的实现方式还是值得深究的,本文就以从简入繁的形式给大家撸一遍,让大家了解双向绑定的技术细节。 阅读全文
posted @ 2019-06-19 12:44 魑魅魍魉_killer 阅读 (294) 评论 (0) 编辑
摘要:http,前端,web,http/2.0 阅读全文
posted @ 2019-05-11 15:23 魑魅魍魉_killer 阅读 (66) 评论 (0) 编辑
摘要:一个promise的当前状态只能是pending、fulfilled和rejected三种之一。状态改变只能是pending到fulfilled或者pending到rejected,状态改变不可逆,支持链式调用。 阅读全文
posted @ 2019-04-27 22:24 魑魅魍魉_killer 阅读 (304) 评论 (0) 编辑
摘要:函数柯理化 其本质是降低通用性,提高适用性,其实是对闭包的极致应用 阅读全文
posted @ 2019-04-26 16:36 魑魅魍魉_killer 阅读 (46) 评论 (0) 编辑
摘要:vue客户端渲染首屏优化,webpack配置以及其他设置 阅读全文
posted @ 2019-04-17 16:42 魑魅魍魉_killer 阅读 (575) 评论 (0) 编辑
摘要:IndexedDB 就是浏览器提供的本地非关系型数据库,它可以被网页脚本创建和操作,允许存储大量数据,提供查找和建立索引等功能 阅读全文
posted @ 2019-04-06 15:12 魑魅魍魉_killer 阅读 (93) 评论 (0) 编辑