分类: 原理
thumbnail

手撕promise底层实现

直接上代码: 雏形 3个状态,只可在pending才可修改, class myPromise { constructor(executor) {//executor为传入的函数(resolve,reject)=>{} ……
thumbnail

axios实现原理

axios的封装可以去看上一篇文章 XMLHttpRequest open()方法 open()方法接收三个参数: 第一个参数 method:要发送的请求的类型。比如GET、PO……
thumbnail

axios的二次封装

为什么封装 随着项目规模增大,如果每发起一次HTTP请求,就要把这些比如设置超时时间、设置请求头、根据项目环境判断使用哪个请求地址、错误处理等等操作……
thumbnail

pnpm如何解决npm/yarn的痛点

软链接和硬链接 假设我们有一个文件,称为 hello 通过 ln -s 创建一个软链接,通过 ln 可以创建一个硬链接。 $ ln -s hel……
thumbnail

Vue-route底层实现原理

先抛出一堆问题: 如何改变 URL 却不引起页面刷新?如何检测 URL 变化了?inistall方法做了什么?如何$router与$route绑定到所有组件上?如何确保插件只安……
thumbnail

AST抽象语法树

解析器 Parser 这个步骤分为2个阶段,词法分析和语法分析 词法分析: 词法分析阶段把字符串形式的代码转换为 令牌(tokens)流。 分词:将整个代……
thumbnail

牛客网acm模式js的输入输出

首先是js的输入输出格式,注意acm模式 https://blog.csdn.net/qq_43057018/article/details/124673653 输入一个矩阵 ,注意readline()读入的输入为字……
thumbnail

手撕intanceof

关于原型链可以去看https://chun53.top/266.html 直接上代码 const instanceof_ = (obj, newFn) => { //递归的方式 if (typeof obj !== 'object' |……
thumbnail

手撕object.assign

浅拷贝Object.assign() 用于将对象自身所有的可枚举属性从一个或者多个源对象上复制到目标对象 Object.myAssign = function (target, ...src) { for ……
thumbnail

TS | UnwrapRef 的底层解包原理

Vue3 中,ref 是一个新出现的 api,ref 这个函数,它会为简单类型的值生成一个形为 { value: T } 的包装。 ref 函数所返回的类型 Ref,就是本文要讲解的重……