ECMAScript
东风过境F
这个作者很懒,什么都没留下…
展开
-
JS 常见的排序算法
工作中算法不常用,但是排序经常用。因此在这里整理了几种JS中常见的排序算法。冒泡排序1、算法思想:判断两个相邻元素,大于则交换位置2、算法步骤从数组中第一个数开始,依次与下一个数比较并次交换比自己小的数,直到最后一个数。如果发生交换,则继续下面的步骤,如果未发生交换,则数组有序,排序结束,此时时间复杂度为O(n);每一轮”冒泡”结束后,最大的数将出现在乱序数列的最后一位。重复步骤(1)3、算法平均复杂度:n(n^2) function sortArr(arr) { //原创 2022-04-04 12:04:57 · 4142 阅读 · 0 评论 -
两个函数理解 防抖 节流
防抖 定义: 防抖函数 debounce 指的是函数在特定的时间,无论触发了多少次回调,都只执行最后一次。 假如我们设置了一个等待时间 3 秒的函数,在这 3 秒内如果遇到函数调用请求就重新计时 3 秒, 直至新的 3 秒内没有函数调用请求,此时执行函数,不然就以此类推重新计时。 附上代码如下:// fn 是需要防抖处理的回调函数// time是时间间隔function debounce(fn, time= 50) { // 通过闭包缓存一个定时器 timer let原创 2022-03-31 21:30:24 · 177 阅读 · 0 评论 -
闭包是什么
闭包是什么1、函数中返回了一个函数 function fn () { let a1 = 1 return function () { return a1 } }闭包存在的意义1、延长变量的声明周期2、创建私有环境let a ='123'function fn1(){ // 此处是一个私有环境即函数作用域 let b = '456' console.log(a)}console.log(b)// 此处执行原创 2022-03-29 22:34:39 · 532 阅读 · 0 评论 -
var、let、const区别
ES原创 2022-03-29 21:49:42 · 469 阅读 · 0 评论 -
Promise.all和Promise.race 的理解和使用
一、Pomise.all的使用Promise.all可以将多个Promise实例包装成一个新的Promise实例。同时,成功和失败的返回值是不同的,成功的时候返回的是一个结果数组,而失败的时候则返回最先被reject失败状态的值。let promise1= new Promise((resolve, reject) => { resolve('成功')})let promise2= new Promise((resolve, reject) => { resolve('succ原创 2021-11-01 21:45:00 · 199 阅读 · 0 评论 -
js 轮询机制
概念 事件轮询 (eventloop) 是"一个解决和处理外部事件时将它们转换为回调函数的调用的实体(entity)" JavaScript 语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。所有任务都需要排队,前一个任务结束,才会执行后一个任务。如果前一个任务耗时很长,后一个任务就不得不一直等着。任务队列 “ 任务队列 " 是一个先进先出的数据结构,排在前面的事件,优先被主线程读取。主线程的读取过程基本上是自动的,只要执行栈一清空," 任务队列 " 上第一位的事原创 2021-10-29 10:52:41 · 854 阅读 · 0 评论 -
promise 理解
promise 理解我认为promise 解析做好的文章:promise 解析原创 2021-10-29 10:24:27 · 105 阅读 · 0 评论 -
js 轮询机制
概念事件轮询 (eventloop) 是"一个解决和处理外部事件时将它们转换为回调函数的调用的实体(entity)"JavaScript 语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。所有任务都需要排队,前一个任务结束,才会执行后一个任务。如果前一个任务耗时很长,后一个任务就不得不一直等着。任务队列“ 任务队列 " 是一个先进先出的数据结构,排在前面的事件,优先被主线程读取。主线程的读取过程基本上是自动的,只要执行栈一清空," 任务队列 " 上第一位的事件就会自动进入主线程。所有任务原创 2021-10-22 17:40:56 · 1724 阅读 · 0 评论