![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
番薯配可乐
前端
展开
-
关于promise
promise原理:利用观察者模式,只需要通过特定书写方式注册对应状态的事件处理函数,然后更新状态,调用注册过的处理函数即可promise有三种状态:pending(初始状态)、fulfilled、rejected(未决定,履行,拒绝)同一时间只能存在一种状态,且状态一旦改变就不能再变。pending可以转化为fulfilled或rejected并且只能转化一次。fulfilled和rejected状态只能由pending转化而来,两者之间不能互相转换。(如图)基本用法con原创 2022-05-31 09:45:00 · 168 阅读 · 0 评论 -
浅显易懂call,apply,bind的区别
call,apply,bind都是可以改变this的指向,那么它们三者之间的区别是什么,我们今天来看看。先看这段代码:const adventurer = { name: 'Alice', cat: { name: 'Dinah' }, getName: function(a, b) { console.log(this.name, a+b) }};adventurer.getName(1, 2) // "Alice" 3const user = {原创 2022-05-30 09:45:00 · 75 阅读 · 0 评论 -
Web Worker使用教程
Web Worker的作用首先,我们都知道JS采用的是单线程模型,所有任务只能在一个线程上完成。那Web Worker就是为JS创造多线程环境,允许主线程创建 Worker 线程,将一些任务分配给后者运行。在主线程运行的同时,Worker 线程在后台运行,两者互不干扰。等到 Worker 线程完成计算任务,再把结果返回给主线程。Worker 线程一旦新建成功,就会始终运行,不会被主线程上的活动(比如用户点击按钮、提交表单)打断。这样有利于随时响应主线程的通信。Web Worker的注意点同源限原创 2022-05-30 09:15:00 · 1905 阅读 · 0 评论 -
JS实现一键复制功能
JS实现一键复制功能,利用textarea元素原创 2022-04-18 21:52:42 · 1073 阅读 · 1 评论