刷新
MoseEvent 中的几种坐标系

博主头像 本文主要内容: screenX 和 screenY, clientX 和 clientY / x 和 y pageX 和 pageY layerX 和 layerY 在处理鼠标事件(MouseEvent)时,了解不同的坐标系是非常重要的。常见的坐标系包括屏幕坐标(screen)、客户端坐标(clie ...

[pnpm] pnpm 与 npm/yarn 的对比

博主头像 本文比较了NPM、Yarn 和 pnpm 三种包管理工具的特点,重点分析了它们在安装速度、依赖管理、磁盘空间使用、依赖冲突处理等方面的差异,重点介绍了pnpm的依赖组织结构。 ...

将 Rust 代码编译为 WASM

博主头像 前言 在现代 Web 开发中,WebAssembly (WASM) 已成为一种强大的工具。它使得开发者可以在浏览器中运行高性能的代码,跨越传统的 JavaScript 性能限制。Rust 语言因其高效性和内存安全性,成为了编写 WASM 模块的热门选择。本文将介绍如何将 Rust 代码编译为 Web ...

2. JavaScript 数据类型

博主头像 JavaScript 共有8种数据类型,可以分为两类:基本数据类型和复杂数据类型。 1. 基本数据类型(Primitive Types) 这些数据类型是不可变的,意味着一旦创建了它们的值,就无法更改。 Number: 用于表示整数和浮点数。例如:42, 3.14, -7 BigInt: 用于表示任意 ...

1. JavaScript 发展历史

博主头像 JavaScript 作为一种编程语言,经历了多次发展与演变,以下是其主要历史里程碑: 1. 诞生与早期发展(1995-1999) 1995年: JavaScript 由 Brendan Eich 在网景公司(Netscape)发明,最初被称为 Mocha,后来改名为 LiveScript,最终定名 ...

IntersectionObserver + scrollIntoView 实现电梯导航

博主头像 电梯导航也被称为锚点导航,当点击锚点元素时,页面内相应标记的元素滚动到视口。而且页面内元素滚动时相应锚点也会高亮。电梯导航一般把锚点放在左右两侧,类似电梯一样。常见的电梯导航效果如下,比如一些官方文档中: 之前可能会用 getBoundingClientRect() 判断元素是否在视口中来实现类似效 ...

codemirror diff-match-path不同设备、不同设备状态下的对比结果不稳定

博主头像 今天遇到一个问题,在使用codemirror对两条文本内容进行对比时,有同事反馈在它的电脑上会显示成:前面一半是正常显示差异内容,而后面就变成了全部是新增的。 像这样: 预期的对比结果是这样: 我们观察用于对比的两个文本,实际上上面的文本都是去掉后面括号中的内容,对比结果不应该表现成全部删除全部新增 ...

[babel] babel的工作原理

博主头像 Babel 是一个多功能的 JavaScript 编译器,主要用于将现代 JavaScript 语法转换为向后兼容的代码。其工作流程包括解析(parse)、转换(transform)和生成(generate)三个步骤,最终生成兼容代码和源码映射。通过自定义插件,开发者可以灵活地操作 AST,实现代码... ...

前后端数据的交互--如何确保前后端数据的安全性?

博主头像 随着互联网的发展,前后端分离的架构在现代 web 开发中越来越流行。然而,数据安全性始终是一个重要的问题。在前后端分离的架构中,数据在前端和后端之间的传输和处理过程中需要采取有效的安全措施,以确保数据的机密性、完整性和可用性。本文将介绍一些常见的方法和最佳实践,以帮助确保前后端数据的安全性。 1. ...

【JavaScript】前端算法题(重建二叉树、反向输出链表每个节点)

博主头像 前言 今天复习了一些前端算法题,写到一两道比较有意思的题:重建二叉树、反向输出链表每个节点 题目 重建二叉树: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列 {1,2,4,7,3,5,6,8} 和中序遍历序列 { ...

为什么必须使用三次握手?

博主头像 TCP(传输控制协议)的三次握手是建立可靠连接的关键步骤,其设计目的是确保通信双方都准备好,并且避免重复的连接初始化。三次握手并不是随意设定的,而是有其重要的技术理由。 1. 防止重复的连接初始化 假设只使用两次握手,会存在以下问题: 旧的重复SYN包问题:如果网络中的一个旧的SYN包(因为网络延迟 ...

JavaScript中==和===的区别

博主头像 ‍ 写在开头 点赞 + 收藏 学会 前言 JavaScript 中的相等运算符无疑是新手开发者最容易混淆的知识点之一。 ==和 这两个运算符的细微差别往往会在代码中造成一些令人困惑的行为 在本文中,我们将深入探讨这两个相等运算符的工作原理,比较它们的特点和局限性 让我们开始吧! ...

Dart 入门教程

博主头像 01. Dart 介绍 02. Dart 开发环境搭建和开发工具的配置 03. Dart 语言的基础语法 04. Dart 数据类型 05. Dart 运算符 06. Dart 条件表达式 07. Dart 类型转换 08. Dart 循环语句 09. Dart break 和 continue 语 ...

<123···19>