JavaScript 代码压缩混淆

JavaScript

本文介绍了 JavaScript 代码保护的两大工具:javascript-obfuscator 和 terser。javascript-obfuscator 是专业的混淆工具,支持控制流扁平化、字符串加密、变量重命名等功能,可通过命令行或配置文件使用。terser 是主流的代码压缩工具,能移除空格、混淆变量名、删除死代码,并支持通过配置移除 console 和 debugger 语句。两种工具结合使用,可以有效保护前端代码安全,同时保持功能不变。文章详细说明了安装方法、基本命令和常用配置参数,为开发者提供了实用的代码保护方案。

辰风沐阳 阅读 283 2026-03-16

JavaScript 迭代器和生成器

JavaScript

迭代器是遵循特定协议的对象,通过 next() 方法依次访问容器元素,返回 { done, value } 对象。可迭代对象需实现 [Symbol.iterator] 方法返回迭代器,使对象支持 for...of 等迭代操作。原生如数组、字符串、Set 等已实现该协议。应用场景包括 for...of 循环、展开运算符、解构赋值等。通过自定义 [Symbol.iterator] 方法,可将普通对象转为可迭代对象,实现更灵活的遍历控制。

辰风沐阳 阅读 479 2026-02-05

JavaScript 宏任务和微任务

JavaScript

JavaScript 任务机制解析:同步任务按顺序执行并阻塞后续代码;异步任务分为宏任务(setTimeout/ajax)和微任务(Promise.then),后者优先级更高。定时器存在最小 4 毫米延迟,其回调需等待同步任务完成。DOM渲染受任务执行顺序影响,可通过调整脚本位置优化。复杂计算任务可拆分为子任务放入异步队列避免阻塞。示例展示了进度条动画和数值累加的实现,体现了任务队列的轮询机制。

辰风沐阳 阅读 427 2026-01-30

JavaScript 的 WebSocket 使用指南

JavaScript

WebSocket 是一种基于 TCP 的全双工通信协议,允许客户端和服务器建立持久连接,实现高效实时数据交换。全双工通信:客户端和服务器可随时主动发送数据,无需遵循传统 HTTP 的 “请求-响应” 模式。本文还记录了 WebSocket 的心跳检测以及重连机制,主要提供一个思路,实际开发中可以自行修改

辰风沐阳 阅读 663 2026-01-12

JavaScript 的 JSON 序列化

JavaScript

JSON 是一种独立于编程语言的轻量级数据交换格式,由 Douglas Crockford 设计。它支持简单值、对象值和数组值三种顶层结构,广泛应用于配置文件、网络数据传输和 NoSQL 数据库存储。JSON 序列化(stringify)和解析(parse)方法可以实现数据转换,其中 stringify 方法支持通过参数控制转换内容和格式化输出。JSON 还可用于对象深拷贝,但不支持函数值的转换。这些特性使 JSON 成为现代开发中不可或缺的数据格式。

辰风沐阳 阅读 541 2025-03-20

JS 设备检测功能函数

JavaScript

本文用于记录 JS 设备检测相关功能函数,比如:检测当前设备是电脑端还是移动设备、当前设备是否为 ios 端。每个功能函数都已经过测试,保证可以使用。本文已会持续更新,不断增加新的功能函数和完善功能方法

辰风沐阳 阅读 2420 2024-05-07

JavaScript 高级语法 Promise

JavaScript

本文介绍了 JavaScript 中 Promise 的基础用法和核心概念。首先分析了传统回调函数的弊端,然后详细讲解了 Promise 的基本使用方式,包括创建 Promise对象、then 和 catch 方法的使用。文章还阐述了 Promise 的三种状态(pending、fulfilled、rejected)及其不可变性。重点解析了 resolve 方法的参数类型,包括普通值、其他 Promise 对象和 thenable 对象。

辰风沐阳 阅读 598 2024-02-03

Electron 镜像源配置及常见问题

nodejs

当你想了解 electron 时,在安装时可能会遇到一些问题,也许在安装这一步就能劝退一部分前端新手。当安装 electron 依赖比较慢时,执行安装依赖命令时可以使用 ELECTRON_MIRROR 参数指定镜像源,mac 系统安装依赖可能会提示没有权限,命令前面使用 sudo 前缀即可

辰风沐阳 阅读 5933 2023-12-30

npm init 初始化项目

nodejs

npm init 命令会生成一个 package.json 文件,该文件用来记录当前项目的详细信息。package.json 中记录着项目的详细信息和所使用的依赖包等信息,别人根据该文件执行 npm install 就可以将项目依赖全部下载到项目里,方便以后维护和移植

辰风沐阳 阅读 2300 2023-11-21

Electron 跨平台桌面应用开发工具

nodejs Mac

Electron 是桌面应用程序框架,它兼容 Mac、Windows、Linux,可以构建出三个平台的应用程序。学习的好处:开发的应用程序,可以上架到应用商店获得收益,可以开发一些桌面小工具,也可以提高应聘时的竞争力,提高开发者的综合能力

辰风沐阳 阅读 2048 2023-11-21