请求loading的优化处理 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970// 希望响应时间小于100ms时不展示 loading 动画,大于100ms时展示300ms的 loading 动画时间 (loadin 2023-03-14 实用Demo
AST AST什么是AST抽象语法树(Abstract Syntax Tree,AST)是源代码语法结构的一种抽象表示,它以树状的形式表现编程语言的语法结构。 在代码语法的检查、代码风格的检查、代码的格式化、代码的高亮、代码错误提示、代码自动补全等等场景均有广泛的应用。 通过js编译流程引入AST一个完整的编译器整体执行过程可以分为三个步骤: **Parsing(解析过程)**:这个过程要经词法分析、语 2023-02-26 #JS #基础
vuejs设计与实现 框架设计概览权衡的艺术命令式和声明式命令式 关注过程(jquery) 声明式 关注结果(vue) Vue.js 帮我们封装了过程,内部实现是命令式的,而暴露给用户的却更加声明式 性能与可维护性的权衡声明式代码的性能不优于命令式代码的性能 命令式代码的更新性能消耗 = 直接修改的性能消耗 声明式代码的更新性能消耗 = 直接修改的性能消耗 + 找出差异的性能消耗 但声明式代码的可维 2023-02-19 书籍
如何提升webpack打包速度 如何提升webpack打包速度分析各阶段打包速度通过 speed-measure-webpack-plugin 测量你的 webpack 构建期间各个阶段花费的时间 12345// 分析打包时间const SpeedMeasurePlugin = require("speed-measure-webpack-plugin");const smp = new SpeedMeasu 2023-02-13 Webpack
执行上下文 执行上下文执行上下文的一些概念执行上下文(Execution Context):当前代码的一个运行环境 包括:词法环境,this。 词法环境(Lexical Environment):在 js 代码执行之前,将 js 代码里的变量名、函数名、类名等登记到词法环境上。 执行栈(Execution Context Stack):存放执行上下文的地方 执行栈栈顶的执行上下文称为当前执行上下文 JS 代码 2023-02-12 JS > 基础
npm install (xxx) 报错 背景npm install vconsole 时,突然报错 1getaddrinfo EAI_AGAIN xxx 解决方案1.检查镜像源 1npm config get registry 2.如果镜像源没问题 删掉 node_modules 以及 lock 文件(package-lock.json / yarn.lock),执行 1npm install 3.如果 npm in 2023-02-03 包管理工具
requestAnimationFrame requestAnimationFrame在Web应用中,实现动画效果的方法比较多,Javascript 中可以通过定时器 setTimeout/ setInterval 来实现,css3 可以使用 transition和 animation 来实现,html5 中的 canvas 也可以实现。除此之外,html5 还提供一个专门用于请求动画的API,那就是 requestAnimati 2023-02-01 #基础 #js
监视vuex数据的变化 123456789// vuex 中定义const base = { namespaced: true, state: { records: -1 }}export base 1234// 需要使用的 vue 文件中定义const records = computed(() => store.state.base.rec 2023-01-09 Vue > Vuex
router go -1页面不刷新问题 问题来源实习期间写的一个小bug router.go(-1)返回到之前的页面后,页面状态并没有刷新,比如单选框的状态仍为被选中。 可以通过监听路由变化,以在路由进出时改变状态。 1234// 比如在路由变化时,重置状态watch(route, (newVal, oldVal) => { state = false}) 2023-01-09 Vue > 路由 #Vue #路由
js设计模式 原始123456789let e1 = { name: "kerwin", age: 18}let e2 = { name: "tiechui", age: 100} 1.构造器模式构造函数 12345678910function Employee(name, age) { this.name 2023-01-03 JS > 设计模式