CodingWithAlice

我的一方小天地,如果对你有帮助,那真的太好了

创建一个变量保留上一次值

创建一个变量,保留上一次值 背景: 在回滚部署成功后,我需要提示「回滚成功」 当前部署状态通过在前端页面轮询实现 我的实现方案:通过监听 status 的变化,异步实现 lastStatus 的变化,可以在查询 status 和 lastStatus 的时候,得到 status 为 success 和 lastStatus 为 pending 的一个时机,弹出弹窗: useEffec...

怎么在业务中写可维护性的代码

怎么在业务中写可维护性的代码 本文适用对象:不适合新人小白,适合有一段时间的开发工作经验 本文组成: 写可维护性代码有什么好处?(收益 - Why) 我要付出什么才可以写出可维护性高的代码?(投入 - How) 要做什么?(What) 1、写可维护性代码有什么好处? 首先,全文的基础是:“业务永远是优先的”,在企业里技术的价值是为业务服务来体现的,可维护性代码不是为...

工作 Mac 好用的软件记录

工作 Mac 好用的软件记录 俗话说,磨刀不误砍柴工,我十分喜欢研究一些让电脑用起来很“顺畅”的软件,我喜欢快捷键,喜欢各种让工作、学习更顺畅的小软件;但是我又十分“愚钝”,如果没有直接的操作文档,我很难自己去设计新的脚本来依赖软件实现更好用的功能(我真的很懒,懒得研究,就喜欢开箱即用)。 工作两年多,我也积累了不少好用的软件,是日常一直在使用的一些软件,推荐给大家。很多软件本身是收费的...

Vuex

Vuex vuex是专为 Vue.js 应用程序开发的 状态管理模式。它采用 集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 主要用于管理vue中的数据,可以兄弟组件互相传值; 1、图文解析 上图的解释: ① Vue Components 是我们的 vue 组件,组件会触发(dispatch)一些事件或动作(Actions); ② 我们...

vue实现双向绑定的原理

vue实现双向绑定的原理 MVVM 模式在于数据与视图的保持同步,意思是说 数据改变时会自动更新视图,视图发生变化时会更新数据。所以我们需要做的就是如何检测到 数据的变化 然后通知我们去 更新视图,如何检测到 视图的变化 然后去 更新数据。 检测视图 这个比较简单,无非就是我们 利用事件的监听即可。 那么如何才能知道数据属性发生变化呢?这个就是利用我们上面说到的 Object....

十进制转任意进制(JS)

十进制转任意进制(JS) 题目来源:美团一面 题目:输入数字M和进制数N,写一个方法得到M换算成N进制的结果 function solve(M, N) { let res = []; // 注意这里要 = 号 while(M >= N) { res.push(M % N); M = Math.floor(M / N); ...

Object属性排序、与Map的区别

Object属性排序、与Map的区别 【注释】: 1、Object 中各属性排序规则 非负整数 会最先被列出,排序是从小到大的数字顺序 正数字 > 字符串 > 负整数 > 浮点数 > Symbol,顺序是根据插入的顺序 2、JSON 默认不支持 Map,但是可以转一层 若想要通过 JSON 传输 Map 则需要使用到 .toJSON() 方法...

onLoad & onReady

onload & onready 浏览器加载的步骤: 解析html结构; 加载外部 js 脚本和样式表文件;(预扫描) 解析并执行 js 脚本; dom树构建完成 - html 解析完毕(完成后触发 onready -> 即 DOMContentLoaded); 加载图片等外部文件(完成后触发 图片 onload); 页面加载完毕(完成后触发 页面...

柯里化函数实现

柯里化函数实现 柯里化是把 接受 多个参数 的函数 变换成 接受一个 单一参数 的函数,并且返回 接受余下的参数而且返回结果的新函数 的技术。 一、柯里化函数实现 1、可递归调用式:addCurry(1)(2) let multiple = (a, b, c) => a * b * c; // 调用方式1 let processMultiple = processCurry(m...

babel深入

babel深入 参考文章:一口(很长的)气了解 babel、深入Babel,这一篇就够了 核心要点记录 babel 总共分为三个阶段 解析 通过 babyIon(7.x改名为@babel/parser)实现:先 词法分析 把字符串形式的代码解析为 令牌tokens 流 (类似 AST 中节点),再 语法分析 把...