virtual dom & mvvm详解

虚拟dom用js对象来表示dom树的结构,然后用这个对象来构建一个真正的dom树插入文档中;当状态有变时,重新构造一个新的对象树,然后比较新的和旧的树,记录两个数的差异;把差异部分应用到真正的dom树上,更新视图。核心算法实现(diff算法...

浏览器缓存详解

一. 强缓存和协商缓存     第一次请求资源时,会根据http头部信息判断是否缓存;     第二次请求资源时,会先判断是否命中强缓存(Cache-Control和Expires),如果是则直接...

事件模型详解

IE事件模型(没有捕获)(<=ie8)attachEvent(event, function) detachEvent(event, function) 第一个参数为on+'event';...

js设计模式详解

单例模式(单体模式提供了一种将代码组织为一个逻辑单元的手段,这个逻辑单元中的代码可以通过单一变量进行访问)let obj = {    name: 'xx...

浅谈webpack优化详解

webpack优化方案1. 优化开发体验    1-1. 加快构建速度     ① 缩小文件搜索范围由于 Loader 对文件的转换操作很耗时,需要让尽可能少的文件被 Loader 处理,用...

算法之js实现回顾详解

 1. 时间复杂度就是while的次数,二分查找O(h)=O(log2n)2. 节点的广度优先遍历function traverse(root){    const queue&...

前端性能优化整理详解

0. 浏览器渲染原理: 输入网址  -> dns查询 -> dns缓存 -> 三次握手建立连接 -> 浏览器发送请求到服务器 -> 服务器返回html -> 浏览器渲染页面; ...

css问题详解

一、浮动    1.浮动特点:脱离文档流,向左/向右浮动直到遇到父元素或者别的浮动元素,浮动会导致父元素高度坍塌。    2.清除浮动:clear和bfc/* clearfix方案(clea...

web安全详解

针对web应用的攻击模式 主动攻击,攻击者通过直接访问web资源把攻击代码传入的攻击模式,需要攻击者能够访问服务器上的资源,常见有SQL注入攻击和OS命令注入攻击; 被动攻击,利用圈套策略执行攻击代码的模式,攻击者不直接攻击we...

CSS 盒模型与box-sizing详解

一、盒模型一个web页面由许多html元素组成,而每一个html元素都可以表示为一个矩形的盒子,CSS盒模型正是描述这些矩形盒子的存在。MDN的描述:When laying out a document, the browser's...