会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
李啸虎
博客园
首页
新随笔
联系
订阅
管理
2020年4月22日
Vue 的 diff 算法分析
摘要: Vue 的 diff 算法分析 dom 的 diff 算法,时间复杂度会达到o(n3),如果在框架里使用,性能会很差。 Vue 使用的 diff 算法,时间复杂度为o(n),简化了很多操作。 同类型的VNode,会用才会进行比对,判断是否同类型使用sameVnode方法 比对时使用patchVnod
阅读全文
posted @ 2020-04-22 14:56 李啸虎
阅读(624)
评论(0)
推荐(0)
2020年3月13日
串联所有单词的子串
摘要: leetcode-cn链接 https://leetcode-cn.com/problems/substring-with-concatenation-of-all-words/ 一、题目 给定一个字符串 s 和一些长度相同的单词 words。找出 s 中恰好可以由 words 中所有单词串联形成的
阅读全文
posted @ 2020-03-13 23:52 李啸虎
阅读(347)
评论(0)
推荐(0)
2017年12月4日
js事件循环 microtask macrotask
摘要: 上篇文章说了一下js中定时器 setTimeout 和 setInterval 的执行原理。这两个计时器都是异步执行的,这部分体现了js的执行过程。 js自身执行的模型是事件循环(event loop)。 js在启动时会创建一个循环,每次循环都会去任务队列(task query)里找要进行的任务。当
阅读全文
posted @ 2017-12-04 18:59 李啸虎
阅读(883)
评论(0)
推荐(0)
2017年2月9日
setTimeout原理
摘要: setInterval和setTimeout是前端开发中经常会用到的定时器,下面对其原理进行一下分析。 javascript是单线程的,一个javascript运行时包含了一个待处理的消息队列,每条消息都代表要运行的函数。当调用栈为空时,会从队列里取出条消息进行处理。 setTimeout方法包含两
阅读全文
posted @ 2017-02-09 17:53 李啸虎
阅读(2503)
评论(0)
推荐(0)
ECMAScript 6----字符串的扩展
摘要: 此分类为学习ECMAScript 6的笔记,主要参考《ECMAScript 6 入门》 ECMAScript6对字符串进行了一系列的扩展。 字符串遍历器接口 ECMAScript6为字符串提供了遍历器接口,使得字符串可以进行for...of...循环。 这个遍历器可以识别大于 0xFFFF 的码点,
阅读全文
posted @ 2017-02-09 16:34 李啸虎
阅读(643)
评论(0)
推荐(0)
ECMAScript 6----变量的解构赋值
摘要: 此分类为学习ECMAScript 6的笔记,主要参考《ECMAScript 6 入门》 ES6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值。 数组的解构赋值 本质上属于模式匹配,只要等号两边模式相同,便可进行赋值。 另一种情况是不完全解构,等号左边的模式之匹配一部分等号右边的模式,这样依
阅读全文
posted @ 2017-02-09 16:34 李啸虎
阅读(196)
评论(0)
推荐(0)
2016年10月11日
ECMAScript 6----let and const
摘要: 此分类为学习ECMAScript 6的笔记,主要参考《ECMAScript 6 入门》 let命令,用来声明变量,所声明的变量只在let所在的代码块内有效。就是我们常说的“块级作用域”。 不存在变量提升,所以一定要在声明之后才能使用。 暂时性死区。只要块级作用域内存在let声明的变量,该变量在该区块
阅读全文
posted @ 2016-10-11 18:48 李啸虎
阅读(198)
评论(0)
推荐(0)
公告