
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 · 251 阅读 · 0 评论 -
函数的防抖与节流
介绍使用场景中有一个submit按钮,用于提交信息,如果不做防抖处理,有时候点快了可能会提交两次,如果使用disable去处理,一个地方还好,多个地方都需要这么处理怎么办,就可以用到防抖和节流了,诸如此类的场景在onmousemove,resize等场景均可以用到。防抖函数函数防抖,第一次点击后需要等待 timer 秒才能继续触发事件,每次点击都会重新计时function debounce(fn,timer,triggleNow){ var t=null return function(){原创 2021-06-17 23:18:10 · 149 阅读 · 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 · 361 阅读 · 1 评论 -
JavaScript ES6之Map与Set
Set定义:类似于数组,但是Set实例中都是唯一且不能重复的值声明:使用Set()构造函数,可接受数组实例化 let mySet=new Set();属性:Set.prototype.constructor : 构造函数,返回SetSet.prototype.size:返回实例的成员总数常用方法:add:添加值,返回实例。delete: 删除值,返回布尔值,表示是否添加成功。has(value):检查值,返回布尔值,表示value是否存在于实例中。clear:原创 2020-06-15 10:20:12 · 226 阅读 · 0 评论