V8是如何执行一段JS代码的 要深入理解 V8 的工作原理,需要搞清楚一些概念和原理,包括编译器(Compiler)、解释器(Interpreter)、抽象语法树(AST)、字节码(Bytecode)、即时编译器(JIT)等。 编译器和解释器机器不能直接理解我们所写的代码,所以在执行程序之前,需要将我们所写的代码“翻译”成机器能读懂的机器语言。按语言的执行流程,可以把语言划分为编译型语言和解释型语言。 编译型语言在程序执行之前 2024-03-21 JS > 基础
graphql 什么是 GraphQLGraphQL,一个API查询语言,它不同于传统的REST API,GraphQL允许客户端按需获取数据。 前端开发者不用依赖后端的接口设计,他们可以自由地获取他们需要的数据结构。 由 Facebook 创建于 2015 年。 特点 请求你所要的数据 获取多个资源 只用一个请求 优势相对于 Rest API,GraphQL 能精准获取、提升开发效率、减少沟通 2024-02-29 其它
React运行原理 宏观包结构基础包结构 react react 基础包, 只提供定义 react 组件(ReactElement)的必要函数, 一般来说需要和渲染器(react-dom,react-native)一同使用. 在编写react应用的代码时, 大部分都是调用此包的 api. react-dom react 渲染器之一, 是 react 与 web 平台连接的桥梁(可以在浏览器和 nodejs 环 2024-02-27 React > 进阶
react版本迭代 React 14(2015年10月)引入了函数式组件(Stateless Functional Components)。此时的函数组件仍然停留在无状态组件阶段,仅仅执行一些静态渲染。 引入了 PropTypes 来进行组件属性类型检查。 弃用了 React.createClass。 React 15(2016年4月)引入了 ReactDOM.createPortal 用于将组件渲染到父组件以外的 2024-02-26 React > 基础
react devtool profiler 重要设置 两个选项: 1.记录为什么被 render 2.过滤掉低于阈值的 commit(在有很多 commit 时有效) 使用方式和 Performance 录制类似,不赘述 核心功能 图表类型 火焰图 排序图 图表区域:在应用程序的剖析切片中,代表某次commit对应的组件渲染时间的相关信息。 提交区域: 每个条形图代表应用程序在整个录制阶段所有的commit操作。每当你通过点击选择 2024-02-25 React > 性能优化
以 useState 为例的 hooks 源码 简单的 useState 源码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 2024-02-22 React > hooks
不要用forEach执行异步任务 forEach无法保证执行顺序12345678910111213141516171819async function processRoles() { let roles = ['admin', 'editor', 'employee']; roles.forEach(async role => { 2023-06-04 JS > 基础
开发者工具中如何审查selectItem和Popover 开发者工具中如何审查selectItem和Popover问题所在当我们点击【选择网页中的响应元素进行检查时】,select下拉框便会收起,我们则无法审查select-item。 如何解决1.打开浏览器控制台 2.ctrl+shift+p 3.输入focus模糊查询,选中 Emulate a focused page(chrome调成英文) 现在下拉框便不会自动收起了 2023-06-04 小技巧
Intersection Observer实现图片懒加载 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> 2023-03-18 实用Demo
并发加载图片 并发数最大为n 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768<!DOCTYPE html><html lang="en"><head> <me 2023-03-14 实用Demo