2024-12-26
算法
00
javascript
function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min } function getRandomIntArray(minLength, maxLength) { const length = getRandomInt(minLength, maxLength) const arr = [] for (let i = 0; i < length; i++) { arr.push(getRandomInt(1, 100)) // 假设随机整数的范围是 1 到 100 } return arr }
2024-05-28
chrome
00
js
open -n "/Applications/Google Chrome.app" --
2024-05-28
css
00

image.png

2024-04-09
javascript
00

这里不过多的赘述promise是什么,既然点开此文章,就代表你对js已经很熟练使用了。所以,接下来给我一点时间,让我在这详细分步骤的手写promise核心区域,并且包括一些边界情况。

手写Promise,方便更清晰的认识内部处理什么

包括:如等待行异步?状态之间的关系?链式操作?

观察Promise的写法

js
const pro = new Promise((resolve,reject)=>{ resolve('成功') reject('失败') })

以上就是一个简单的Promise案例,其中resolve表示成功后的回调函数,reject表示失败后的回调函数。

手写Promise必须要明白他内部怎么回事,Promise本身会有三个状态,分别是"等待(PENDING)","成功(FULFILLED)","失败(REJECTED)"。其中默认Promise的状态为“等待”,状态变化只能是“成功”、“失败”,只要状态一发生变化,后续就不可逆,不可再更改状态(可以理解:你打开王者荣耀,随机进了一局排位赛,比赛结果只有输赢,并且当前输赢已定局不能更改)。

绘图说明:

promise状态关系.svg

2024-03-25
webpack
00

在 Webpack 中,Loader 和 Plugin 是两个不同的概念,它们分别用于处理不同的任务。以下是它们的区别以及常用的 Loader 和 Plugin:

Loader 和 Plugin 的区别:

  1. Loader:
    • Loader 用于将非 JavaScript 文件转换为 Webpack 能够处理的模块。
    • 它们允许你在引入模块时对文件进行预处理。
    • 例如,可以使用 CSS Loader 和 Style Loader 将 CSS 文件转换为 JavaScript 模块,并将样式应用到页面上。
    • Loader 在模块加载阶段运行,并直接影响模块的内容。