数组扁平化
效果:
|
首先上一个 call 使用
|
React 会创建一个虚拟 DOM(virtual DOM)。当一个组件中的状态改变时,React 首先会通过 “diff” 算法来标记虚拟 DOM 中的改变,第二步是调节(reconciliation),会用 diff
的结果来更新真实 DOM。虚拟
DOM 作为一种缓存机制优化了 UI 渲染减少昂贵的 DOM 变化的数量。
为什么不能每次改变都直接去操作 DOM 树?
这是因为在浏览器中每一次 DOM 操作都有可能引起浏览器的重绘或回流:
promise 最早是在 commonjs 社区提出来的,当时提出了很多规范。比较接受的是 promise/A 规范。但是 promise/A 规范比较简单,后来人们在这个基础上,提出了 promise/A+规范,也就是实际上的业内推行的规范;es6 也是采用的这种规范,但是 es6 在此规范上还加入了 Promise.all、Promise.race、Promise.catch、Promise.resolve、Promise.reject 等方法。
我们可以通过脚本来测试我们写的 Promise 是否符合 promise/A+的规范。将我们实现的 Promise 加入以下代码:
|
然后通过 module.exports 导出,安装测试的脚本:
|
在实现 Promise 的目录执行以下命令:
|
接下来,脚本会对照着 promise/A+的规范,对我们的脚本来一条一条地进行测试。
more >>在第一次触发事件时,不立即执行函数,而是给出一个期限值比如200ms
,然后:
如果在 200ms
内没有再次触发滚动事件,那么就执行函数
如果在 200ms
内再次触发滚动事件,那么当前的计时取消,重新开始计时
|
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia-plus根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true