随笔分类 - web前端 / javascript
摘要:在现代 Web 应用中,尤其是涉及视频播放、实时通信、地图导航等长时间运行的任务时,用户常常希望设备不要因为空闲而自动进入睡眠模式或屏幕变暗。为了解决这一问题,Web API 提供了一个名为 Wake Lock 的接口,允许开发者请求设备保持唤醒状态。 本文将详细介绍如何使用 Wake Lock A
阅读全文
摘要:在 Web 开发中,我们经常需要区分用户是否通过刷新操作重新加载了页面。这一操作可能是由用户手动刷新(如按下 F5 键或点击浏览器刷新按钮)或通过浏览器自动重新加载。判断页面是否刷新有助于开发者优化用户体验,例如在使用 vue 的时候需要进行权限控制,就需要判断在刷新后根据登录者的权限去添加对应的路
阅读全文
摘要:本文主要内容: screenX 和 screenY, clientX 和 clientY / x 和 y pageX 和 pageY layerX 和 layerY 在处理鼠标事件(MouseEvent)时,了解不同的坐标系是非常重要的。常见的坐标系包括屏幕坐标(screen)、客户端坐标(clie
阅读全文
摘要:本章内容: 行分隔符(U + 2028)和段分隔符(U + 2029)符号现在允许在字符串文字中,与 JSON 匹配 更加友好的 JSON.stringify 新增了 Array 的flat()方法和flatMap()方法 新增了 String 的trimStart()方法和trimEnd()方法
阅读全文
摘要:本章内容: 异步迭代 Promise.finally() Rest/Spread 属性 正则表达式命名捕获组(Regular Expression Named Capture Groups) 正则表达式反向断言(lookbehind) 正则表达式 dotAll 模式 正则表达式 Unicode 转义
阅读全文
摘要:本章内容: Object.values()/Object.entries() async/await String padding: padStart()和padEnd(),填充字符串达到当前长度 函数参数列表结尾允许逗号 Object.getOwnPropertyDescriptors() Sha
阅读全文
摘要:本章内容: Array.prototype.includes():判断一个数组是否包含一个指定的值,如果包含则返回 true,否则返回 false。 幂运算符**: a ** b 指数运算符,它与 Math.pow(a, b)相同。 Array.prototype.includes() includ
阅读全文
摘要:## 题目 > 来源:力扣(LeetCode) > 链接: 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 示例: 输入:"abbaca" 输出:
阅读全文
摘要:javascript 中的错误类型: * SyntaxError * TypeError * ReferenceError * RangeError * URLError * Error ## SyntaxError 语法错误 ```js // 当您在编写一个函数时忘记了括号 ,)来括起您的代码,您
阅读全文
摘要:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,而 123 不是 来源:力扣(LeetCode) 转为字符串 把数字转为字符串 反转整个字符串 对比两个字符串 funct
阅读全文
摘要:问题描述: 监听文本输入框的input事件,在拼写汉字时会触发input事件,如下图: 需求: 选词完成后触发input事件,只触发一次。 解决办法: 通过查阅资料得知在输入中文(包括语音识别时)会先后触发compositionstart、compositionupdate、compositione
阅读全文
摘要:1、概述 MutationObserver接口提供了监视对DOM树所做更改的能力。它被设计为旧的Mutation Events功能的替代品,该功能是DOM3 Events规范的一部分。 但是,它与Mutation Events事件有一个本质不同:事件是同步触发,也就是说,DOM 的变动立刻会触发相应
阅读全文
摘要:简介 ES2020 是ECMA协会在2020年6月发行的一个版本,因为是ECMAScript的第十一个版本,所以也称为ES11. 今天我们讲解一下ES11的新特性。 ES11引入了9个新特性,我们接下来一一讲解。 动态imports 在ES11之前,我们可以使用下面的方式进行模块的导入: impor
阅读全文
摘要:所谓排序算法,即通过特定的算法因式将一组或多组数据按照既定模式进行重新排序。这种新序列遵循着一定的规则,体现出一定的规律,因此,经处理后的数据便于筛选和计算,大大提高了计算效率。对于排序,我们首先要求其具有一定的稳定性,即当两个相同的元素同时出现于某个序列之中,则经过一定的排序算法之后,两者在排序前
阅读全文
摘要:ECMAScript 2021 主要包含内容: ECMAScript 2021 于2021年6月22日获得 ECMA International 的批准。ECMAScript 是标准化的 JavaScript 语言,于 1997 年发布了第一版,现已发展成为世界上使用最广泛的通用编程语言之一。 本
阅读全文
摘要:上一篇文章中使用列表(List)对数据排序,当时底层储存数据的数据结构是数组。本文将讨论另外一种列表:链表。我们会解释为什么有时链表优于数组,还会实现一个基于对象的链表。下面让我们一起来学习LinkedList。 数据结构之List | 让我们一块来学习数据结构 数据结构之Stack | 让我们一块
阅读全文
摘要:前面的两篇文章分别介绍了List和Stack,下面让我们一起来学习Queue 数据结构之List | 让我们一块来学习数据结构 数据结构之Stack | 让我们一块来学习数据结构 队列的概况 队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素。队列用于存储按顺序排列的数据,先进先出,这点
阅读全文
摘要:栈的介绍 栈就是和列表类似的一种数据结构,它可用来解决计算机世界里的很多问题。栈是一种高 效的数据结构,因为数据只能在栈顶添加或删除,所以这样的操作很快,而且容易实现。 栈的使用遍布程序语言实现的方方面面,从表达式求值到处理函数调用 栈是一种特殊的列表,栈内的元素只能通过列表的一端访问,这一端称为栈
阅读全文
摘要:列表[List]的定义 列表是一组有序的数据。每个列表中的数据项称为元素。在 JavaScript 中,列表中的元素 可以是任意数据类型。列表中可以保存多少元素并没有事先限定,实际使用时元素的数量 受到程序内存的限制。 不包含任何元素的列表称为空列表。列表中包含元素的个数称为列表的 length。在
阅读全文
摘要:Function原型链中的 apply,call 和 bind 方法是 JavaScript 中相当重要的概念,与 this 关键字密切相关,相当一部分人对它们的理解还是比较浅显,所谓js基础扎实,绕不开这些基础常用的API,这次让我们来了解它们吧! 实现new运算符 原理 new 关键字会进行如下
阅读全文