![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
采蘑菇的提莫队长
面向浪漫主义的编程!尊重技术,乐于分享!
展开
-
手写Promise函数源码完整版
const PENDING = 'PENDING', FULFILLED = 'FULFILLED', REJECTED = 'REJECTED'; function resolvePromise(promise2,x,resolve,reject){ // 如果promise2和x引用的是同一个对象,以typeError为理由拒绝 if(promise2===x){ reject(new TypeError('类型错误!')); } //是原创 2021-06-19 23:10:09 · 202 阅读 · 0 评论 -
函数的防抖与节流
介绍 使用场景中有一个submit按钮,用于提交信息,如果不做防抖处理,有时候点快了可能会提交两次,如果使用disable去处理,一个地方还好,多个地方都需要这么处理怎么办,就可以用到防抖和节流了,诸如此类的场景在onmousemove,resize等场景均可以用到。 防抖函数 函数防抖,第一次点击后需要等待 timer 秒才能继续触发事件,每次点击都会重新计时 function debounce(fn,timer,triggleNow){ var t=null return function(){原创 2021-06-17 23:18:10 · 112 阅读 · 0 评论 -
你真的了解var、let、与const区别吗?
在ES6发布多年后,你会发现let 和const越来越多的进入到你的视野,甚至超过了var的变量声明方式: 1、var 作为函数作用域声明 用var声明一个变量,变量会被添加到最接近的执行上下文。所以在函数中声明,会被添加到函数的执行上下文中,如果变量没有声明就已经初始化了,那么它会自动被添加到全局上下文中(全局上下文指的就是window对象); function demo(a,b){ var sum=a+b } demo(1,2) console.log(sum) //sum is not原创 2020-12-08 13:37:24 · 285 阅读 · 1 评论 -
JavaScript ES6之Map与Set
Set 定义:类似于数组,但是Set实例中都是唯一且不能重复的值 声明: 使用Set()构造函数,可接受数组实例化 let mySet=new Set(); 属性: Set.prototype.constructor : 构造函数,返回Set Set.prototype.size:返回实例的成员总数 常用方法: add:添加值,返回实例。 delete: 删除值,返回布尔值,表示是否添加成功。 has(value):检查值,返回布尔值,表示value是否存在于实例中。 clear:原创 2020-06-15 10:20:12 · 178 阅读 · 0 评论