会员
周边
新闻
博问
闪存
众包
赞助商
YouClaw
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
前端工程师
博客园
首页
新随笔
联系
订阅
管理
2021年7月16日
excel
摘要: import React from 'react'; import { Button, Form, Input, Table, Upload } from 'antd'; import 'antd/dist/antd.css'; import XLSX from 'xlsx' class MyTes
阅读全文
posted @ 2021-07-16 21:54 __前端工程师
阅读(46)
评论(0)
推荐(0)
2021年6月12日
手写代码
摘要: 发布-订阅机制 最简单的发布订阅就是addEventListener,先监听click,之后点击元素触发事件。 可以看到两个关键的动作:事件的监听(订阅)和事件的触发(发布) 手写发布订阅模型 on():负责注册事件的监听器,指定事件触发时的回调函数。 emit():负责触发事件,可以通过传参使其在
阅读全文
posted @ 2021-06-12 18:49 __前端工程师
阅读(128)
评论(0)
推荐(0)
2021年6月6日
渲染优化
摘要: 浏览器渲染原理和关键渲染路径 当浏览器拿到服务端返回的资源后,第一步是通过一些解释器将文本翻译成计算机能理解的数据结构,先是把html和css转换成DOM和CSSOM,然后将两棵树做一个合并,形成Render Tree,这个时候会把真正要显示的东西留下,不显示的东西去掉,比如某个节点的displ
阅读全文
posted @ 2021-06-06 15:58 __前端工程师
阅读(117)
评论(0)
推荐(0)
2021年6月1日
diff原理
摘要: 简单来讲,操作真实 DOM 会引起重排和重绘,会影响到性能,因此要尽量减少 DOM 操作。 createElement JSX 每一个节点都会被转化为createElement方法,这个方法会返回virtual dom对象 function createElement(type, props
阅读全文
posted @ 2021-06-01 22:38 __前端工程师
阅读(369)
评论(0)
推荐(0)
Fiber原理
摘要: requestIdleCallback 利用浏览器的空余时间执行任务,如果有更高优先级的任务要执行时,当前执行的任务可以被终止。 function calc(deadline) { // deadline.timeRemaining() 获取浏览器的空余时间 if(deadline.timeRe
阅读全文
posted @ 2021-06-01 22:36 __前端工程师
阅读(1000)
评论(0)
推荐(0)
2021年5月31日
vue模版编译
摘要: 模板编译的作用 主要目的是将template转换为渲染函数(render) <div> <h1 @click="handler">title</h1> <p>some content</p> </div> 渲染函数 render render(h) { return h('div', [ h
阅读全文
posted @ 2021-05-31 20:27 __前端工程师
阅读(353)
评论(0)
推荐(0)
公告