![](https://img-blog.csdnimg.cn/20210826162731202.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
js进阶
js进阶
guizi0809
前端漫漫之路,一路有我伴随。
展开
-
es6中标签模板
之所以写这篇文章,是因为`标签模板`是一个很容易让人忽略的知识点原创 2024-02-04 16:33:19 · 961 阅读 · 0 评论 -
js实现万能判断数据类型函数
在实际开发中,经常需要判断数据类型,由于数据类型多种多样,使用的api也多种多样,比如。这里封装一个万能判断数据类型函数,用于判断各种数据类型。在开发过程中,可以创建。文件,用于判断数据类型。原创 2024-01-30 09:27:59 · 213 阅读 · 0 评论 -
观察者模式与发布订阅模式
一、观察者模式定义了一个被观察的对象/目标subject和多个观察者observer间的一种一对多的依赖关系,当被观察对象/目标subject的状态发生改变时,所有依赖于它的观察者observer都得到通知并自动更新。 class Subject { constructor() { // 用于收集观察者 this.observerList = [] } // 添加观察者 subscribe(observer) { console.log(`${observer.n原创 2021-08-06 16:40:39 · 188 阅读 · 0 评论 -
js高阶函数详解与应用
定义高阶函数,满足下列条件之一:接收一个甚至多个函数作为参数的函数返回一个函数作为结果的函数我们常见的map、filter、reduce等函数都是高阶函数,因为他们接收一个函数作为参数。我们常见的闭包也是高阶函数,因为他们返回一个函数作为结果,如防抖debouce/节流throttledebouce 和 throttle 的实现请查看:js中的防抖和节流一、函数组合定义:函数组合就是将两个或两个以上的函数组合生成一个新函数。例如 function compose(f, g) {原创 2021-07-26 18:09:32 · 278 阅读 · 0 评论 -
如何优雅处理 async/await 中的错误?
我们都知道 async/await 是 promise 的语法糖。 // 模拟请求接口, 返回的是 Promise 对象. const request = success => { // 请求耗时 0 ~ 2 秒 const wait = Math.random() * 2000 console.log('请求时间', wait) return new Promise((resolve, reject) => {原创 2021-05-26 15:16:39 · 1012 阅读 · 4 评论 -
promise限制并发请求数量
// 限制的数量,每次最多发送3次请求 const limit = 3 // 请求数量记录,默认为0 let count = 0 // api请求列表 const apiList = [ 'url___A', 'url___B', 'url___C', 'url___D', 'url___E', 'url___F', 'url___G', 'url___H',.原创 2021-05-24 17:35:01 · 3295 阅读 · 1 评论 -
js笔试中的手写题
new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。new 关键字会进行如下的操作:1、创建一个空的简单JavaScript对象(即{});2、链接该对象(即设置该对象的构造函数)到另一个对象 ;3、将步骤1新创建的对象作为this的上下文 ;4、如果该函数没有返回对象,则返回this。function myNew(){ let obj = {} // 取得该方法的第一个参数(并删除第一个参数),该参数是构造函数 const Construct.原创 2021-05-17 11:57:47 · 160 阅读 · 0 评论 -
个人封装Tree类
废话少说,直接上代码。 class Tree { static default_key = 'id'; // 关键key static default_parentKey = 'parentId'; // 关键key的父key static default_initial = '0'; // 祖宗key的值 constructor( { list,原创 2021-05-07 14:10:08 · 155 阅读 · 0 评论