源码
文章平均质量分 72
土豆泥1号
一名前端工程师
展开
-
React源码解析
1.简述 React 16 版本中初始渲染的流程要将 React 元素渲染到页面中,分为两个阶段,render 阶段和 commit 阶段。render 阶段负责创建 Fiber 数据结构并为 Fiber 节点打标记,标记当前 Fiber 节点要进行的 DOM 操作。commit 阶段负责根据 Fiber 节点标记 ( effectTag ) 进行相应的 DOM 操作。2.为什么 React 16 版本中 render 阶段放弃了使用递归在16之前的版本中采用递归执行。递归耗内存,它使用 Java原创 2022-05-12 22:25:46 · 479 阅读 · 1 评论 -
vue3和vite原理解析
Vue 3.0 性能提升主要是通过哪几方面体现的?响应式系统升级由vue2.0核心defineProperty升级为使用Proxy对象重写响应式系统编译优化源码体积优化移除了一些不常用的APItree-shakingVue 3.0 所采用的 Composition Api 与 Vue 2.x使用的Options Api 有什么区别?Options包含一个描述组件选项的对象开发复杂组件,同一个功能逻辑的代码被拆分到不同选项Composition一组基于函数的A原创 2021-08-06 20:11:44 · 472 阅读 · 0 评论 -
Vue.js 源码剖析-响应式原理、虚拟 DOM、模板编译和组件化
1.请简述 Vue 首次渲染的过程。vue初始化,实例成员,静态成员new vue()this._init()vm.$moment()运行时编译器版本vue如果没有传递render通过compileTofunctions() 生成render()渲染函数options.render = rendervm.$moment()运行时版本vue.jsmountComponent()mountComponent(this, el)触发beforeMount定义update原创 2021-04-14 01:37:10 · 179 阅读 · 0 评论 -
TypeScript上手
快速上手安装TS : yarn add typescript --dev编译// 可以完全按照 JavaScript 标准语法编写代码var hello = function (name) { console.log("Hello, " + name);};hello('TypeScript');运行命令 yarn tsc [filename]在文件中就可以看到编译过后的js 文件配置文件编译整个项目1.运行 yarn tsc --init 生成配置文件...原创 2020-11-04 20:16:14 · 122 阅读 · 0 评论 -
promise经典面试题
在urls数组中存放了 10 个接口地址。同时还定义了一个loadDate函数,这个函数接受一个url参数,返回一个Promise对象,该Promise在接口调用成功时返回resolve,失败时返回reject。要求:任意时刻,同时下载的链接数量不可以超过 3 个。 试写出一段代码实现这个需求,要求尽可能快速地将所有接口中的数据得到。var urls = [ 'http://jsonplaceholder.typicode.com/posts/1', 'http:/...原创 2020-11-03 20:08:17 · 336 阅读 · 0 评论 -
柯理化
柯理化代码演示function checkAge (age) { let min = 18 return age >= min}// 普通的纯函数function checkAge (min, age) { return age >= min}柯理化就是讲多个参数转化为几个分开的参数// 函数的柯里化function checkAge (min) { return function (age) { return age >= min原创 2020-10-30 23:44:18 · 184 阅读 · 0 评论 -
手写promise源码
// 静态声明promise的三种状态const PENDING = 'pending'; // 等待const FULFILLED = 'fulfilled'; // 成功const REJECTED = 'rejected'; // 失败// 处理resove函数返回的结果const resovePromise = (promise, x, resolve, reject) => { // 如果返回自己本身抛出错误 if (promise === x) { .原创 2020-10-29 23:41:32 · 176 阅读 · 0 评论