5.2k 5 分钟

#引言 首先我们知道 JS 中是没有并行,并发等概念的,这是因为 JS 是一门单线程的语言,其中的异步执行也是利用事件循环机制进行的,并不是严格意义上的异步。由于 JS 单线程的特性,使得 JS 在执行时如果遇到大量的任务就会使得过程运行缓慢。主渲染线程的延迟明显,使得用户体验较差. #web-worker web-worker 的作用就是用来缓解这一问题的 利用 web-worker, 我们可以利用浏览器新开辟一个进程,将需要大量执行的过程在这个进程中执行,然后将结果返回给我们的主进程即可. #使用示例 #worker.html <!DOCTYPE...
57 1 分钟

# 正则理念 # 两种模糊匹配 如果正则只有精确匹配是没有多大意义的 (匹配的是固定的结果) 正则表达式就强大在能实现模糊匹配
43k 39 分钟

# 05 【nodejs 内置模块(上)】 # nodejs 的官方 API 文档 Node.js 的 API 文档(英文): https://nodejs.org/docs/latest-v8.x/api/index.html Node.js 的 API 文档(中文):http://nodejs.cn/api/ 关于 Node.js 的内置模块和常见 API,可以看官方文档。 查阅文档时,稳定指数如下: 红色:废弃。 橙色:实验。表示当前版本可用,其他版本不确定。也许不向下兼容,建议不要在生产环境中使用该特性。 绿色:稳定。与 npm 生态系统的兼容性是最高的优先级。 #...
8.1k 7 分钟

# 一、缓存 # 1、定义 # 凡是为于速度相差较大的两种硬件之间,用于协调两者数据传输速度差异的结构,均可称之为 Cache (电脑高速缓冲存储器) 缓存的存在是为了解决 CPU 和内存之间存取速度的差异的 内存中被 CPU 访问最频繁的数据和指令会被复制到 CPU 的缓存中(这其中的 “频繁” 是由专门的算法来定义的 这样 CPU 就不用去很慢的内存中读取需要的数据和指令了 # 2、被扩充概念 # 如今缓存的概念已被扩充 CPU 与 主内存 之间 (就我们常说的缓存) 内存 与 硬盘 之间 (磁盘缓存) 硬盘 与 网络之间 (称为 Internet...
21k 19 分钟

# 5-2 项目质量监测 # 课程介绍 没有规矩不成方圆,所以我们写代码也要有 "规矩",但是我们通常记不住所有的 "规矩",因为人嘛,不可能不犯错。但是,这难不到我们程序员,我们让机器、代码、程序帮我们搞定,让它们来帮我们进行代码质量检查,以便提高的程序的健壮性。 通常来说,项目的质量决定了: 软件项目的命运 软件项目的可维护性 软件项目的运维成本 软件项目的扩展性 为什么要进行代码质量检查? 代码检查很重要,原因有三: 避免低级...
558 1 分钟

# Number.MAX_VALUE 最大数 Number.MAX_VALUE 静态数据属性表示在 JavaScript 中可表示的最大数值,数值为:2 的 1024 次方 - 1,或大约 1.7976931348623157E+308。 (原因是由于:一个字节(byte)8 比特(bit),但是数字类型占用一个字节,JS 最大用 1kb(1024 个字节)来存储 number) 大于最大数的数据会被返回:Infinity # Number.MAX_SAFE_INTEGER 最大安全整数 Number.MAX_SAFE_INTEGER 为:(253 –...
8.5k 8 分钟

# webpack 前端的工程化离不开 webpack, 它是一个现代 JavaScript 应用程序的静态模块打包器,用于 将适合用于开发的代码打包构建为适合用于生产的代码 # webpack.config.js const path = require("path");const { DefinePlugin } = require("webpack");module.exports = { mode: "development", //development...
1.1k 1 分钟

#JS 中类型化数组(typed array) JavaScript 的类型化数组是一种特殊的数组,可以存储和操作固定类型的数据,如整数、浮点数、字节等。相比于普通的 JavaScript 数组,类型化数组有以下几个优点: 更加高效:类型化数组在内存中是连续存储的,这意味着它们可以更快地被读取和写入。此外,它们还允许我们直接访问底层的二进制数据,而不需要进行类型转换或拷贝操作。 更加节省空间:由于类型化数组只能存储固定类型的数据,因此它们使用的内存空间可以更加紧凑。例如,使用 Int8Array 数组可以将每个元素压缩为 1 个字节,而使用普通的 JavaScript 数组则需要至少 8...
870 1 分钟

# DataView 视图: DataView 是 JavaScript 中的一个类型化数组视图,用于以不同的字节序(如大端序或小端序)和不同的数据类型(如整数、浮点数等)来读取和写入 ArrayBuffer 中的二进制数据。与 TypedArray 不同,DataView 可以指定任意的字节偏移量和长度,可以更加灵活地操作二进制数据。 以下是一个使用 DataView 读取 ArrayBuffer 中的二进制数据的示例: javascriptCopy Code// 创建一个包含 8 字节的 ArrayBufferconst buffer = new ArrayBuffer(8);//...
722 1 分钟

# Blob: Blob(Binary Large Object)对象是 JavaScript 中用来表示二进制数据的对象,通常用于存储和操作文件或其他类型的二进制数据。Blob 对象可以表示大型数据对象,比如图像、视频、音频文件等。 Blob 对象通常由两部分组成:数据和数据的类型。数据部分包含实际的二进制数据,而类型部分描述了数据的 MIME 类型,例如 “image/png” 或 “application/pdf”。 Blob 对象可以通过 new Blob () 构造函数创建,传入一个数组作为参数,数组中包含要存储的二进制数据。另外,你还可以通过传入一个可选的对象参数,来指定数据的...