- 博客(22)
- 收藏
- 关注
原创 在 Cocos Creator 中,获取另一个脚本的方法该如何做?
通过获取脚本:是最常见的方式,只要知道目标脚本挂载在哪个节点上。通过事件机制:可以解耦脚本之间的关系,使用或Message系统来传递信息。使用单例模式:在跨多个脚本共享方法时,可以通过全局管理器或者单例模式来实现。
2025-02-13 09:25:46
556
原创 项目多分支切换,不想提交代码怎么办-- --git stash
如果你在多个分支之间来回切换,并且不提交代码,也不想删除代码,这时git stash是一个有用的工具,但它并不是唯一的解决方案。让我们详细看看git stash。
2025-01-23 10:34:31
626
原创 什么是 IndexedDB?
IndexedDB 是一种运行在浏览器中的 NoSQL 数据库,适用于存储大量结构化数据(如 JSON 对象)。与 LocalStorage 不同,IndexedDB 的特点是支持异步操作、事务处理以及索引查询。
2025-01-22 11:03:33
750
原创 什么是稀疏数组?
稀疏数组是指包含空位或未定义元素的数组,这些空位并不占用内存空间。可以通过Array构造函数或delete操作符来创建稀疏数组。JavaScript 的迭代方法(如forEachmapfilter等)会跳过空位,处理时需要特别注意。稀疏数组在length属性、内存使用和性能上有一些特殊表现,处理时需要小心。
2025-01-17 14:14:20
680
原创 深入了解浏览器的 Performance 标签:性能分析与优化指南
标签是一个强大的工具,帮助开发者详细分析和优化网页性能。通过它,你可以深入了解页面的加载时间、渲染效率、JavaScript 执行情况等,并针对发现的瓶颈进行优化。这对于提升用户体验、提高页面加载速度、减少延迟具有重要意义。
2025-01-16 14:52:33
1185
原创 你不知道的console
console对象提供了丰富的输出和调试功能,帮助开发者在开发过程中快速查看变量的值、调试代码流程、记录错误和警告信息等。常用的console方法包括log()error()warn()info()table()group()time(), 等等。掌握console的使用可以大大提升调试效率,尤其在开发复杂应用时,它能够帮助你快速定位和解决问题。
2025-01-16 09:21:41
1888
1
原创 HTTP 与 SSH 在 Git 中的区别与选择指南
特性HTTPSSH认证方式用户名 + 密码(或个人访问令牌)SSH 密钥对(公钥/私钥)安全性较低(虽然使用 HTTPS,但仍需传输密码)高(基于密钥,避免了密码传输)配置复杂度简单,直接使用 HTTPS URL稍复杂,需要生成和配置 SSH 密钥性能相对较慢,需要每次身份验证较快,身份验证只需一次适用场景不频繁操作,或不想配置 SSH 的用户经常进行 Git 操作的开发者如果你是偶尔使用 Git或不想进行 SSH 配置,可以使用 HTTP(HTTPS)方式
2025-01-15 09:23:23
2098
原创 什么是 Tree Shaking?
Tree Shaking 是现代前端构建中的关键优化技术,它能显著减少未使用代码,降低打包体积并提升性能。:Tree Shaking 对 CommonJS 的支持有限,因为 CommonJS 的动态特性使其依赖关系难以分析。Rollup 是一个以 Tree Shaking 为核心设计的打包工具,天然支持移除未使用的代码。:如果打包工具未正确配置 Tree Shaking 或没有启用压缩优化,未使用的代码可能不会被移除。Vite 的生产构建中默认启用 Tree Shaking,无需额外配置。
2025-01-14 11:27:39
1054
原创 前端项目打包体积的分析和优化
前端项目打包体积过大可能影响页面加载速度和用户体验,因此分析和优化打包体积是一个非常重要的步骤。结合 Webpack/Vite 的 SplitChunks 或动态导入配置,可进一步优化代码拆分。开启详细打包日志,观察哪些模块体积较大。例如,在 Webpack 中设置。运行打包后会生成一个交互式图表,显示各模块的体积占比。等体积小、支持 Tree Shaking 的替代库。Tree Shaking 是移除未使用代码的优化技术。优化后可以大幅度降低包体积,提高加载速度和用户体验。
2025-01-14 10:31:55
1273
原创 什么是 JWT?
JWT(JSON Web Token)是一种基于 JSON 的开放标准(RFC 7519),它用于在各方之间安全地传输信息。信息可以被验证和信任,因为 JWT 是通过签名生成的。
2025-01-13 16:19:50
782
原创 为什么npm i 要加上--save-dev
这些依赖项通常是开发过程中需要使用的工具或库,而不是在生产环境中运行代码时需要的依赖。的标志,有助于明确开发依赖和生产依赖之间的界限,从而优化项目的依赖管理和生产环境的性能。在较新的 npm 版本中,可以使用。是一个标志,用于将依赖项安装为。标志,依赖会被添加到。文件重新整理依赖项。
2025-01-13 11:13:37
875
原创 前端如何展示PDF文件内容
最简单的方式:使用iframe或embed标签直接嵌入 PDF 文件。更复杂但功能更强的方式:使用 PDF.js 库,提供更多的控制和自定义功能。快速打开 PDF:可以通过打开 PDF 文件。
2025-01-10 10:37:31
2718
原创 一文教会你如何解决npm install 报错
一些项目的依赖可能对 Node.js 版本有要求。例如,部分 依赖可能不支持较新的 Node.js 版本。检查是否需要全局安装特定依赖: 如果报错提示缺少某些依赖,可以尝试全局安装。某些依赖可能因为版本冲突或缺失而无法安装,尤其是老旧的 项目。如果你的网络环境不佳(例如被墙),可能会导致依赖下载失败。版本可能会引入严格的依赖检查,导致旧项目无法正常安装。某些依赖需要全局安装,或者你的本地开发工具链有问题。: 查看报错信息中提到的依赖模块(如。文件,且文件中列出的依赖是完整的。: 如果依赖之间存在。
2025-01-10 10:18:08
902
原创 何时使用构造函数?
在需要构建自定义 UI 元素时,可以使用构造函数初始化元素的属性(如按钮的文本、样式等),并且让这些组件具备一定的功能。定义类(Object-Oriented 编程):使用class关键字定义对象模型,并通过构造函数来初始化实例的状态。初始化配置信息:构造函数可用于为对象提供灵活的初始化配置。UI 组件创建。
2025-01-09 14:27:36
694
原创 构造函数中为什么不能写return
在 JavaScript 中,构造函数()的行为是与普通函数有所不同的,特别是在return语句的使用上。了解为什么构造函数不能写return语句,以及它的工作原理是理解 JavaScript 中构造函数设计的一部分。
2025-01-09 14:08:01
462
原创 CSS 变量(自定义属性)详解
CSS 变量(Custom Properties)是现代 CSS 的强大功能,允许我们定义可复用的值,并在 CSS 文件中动态使用这些值。使用 CSS 变量可以大幅提升代码的可维护性和灵活性。
2025-01-07 10:01:35
562
原创 大佬口中的AST到底是什么?
就是把代码转化成JSON结构的数据,方便代码分析或者代码转换。AST,全称(抽象语法树),是代码的结构化表示,主要用于描述代码的语法结构,同时以树状的形式表达代码各个组成部分之间的关系。变量声明函数调用运算表达式抽象语法树被广泛应用于**编译器、代码分析工具、代码转换工具(如 Babel、ESLint、Prettier)**中。AST 的作用代码分析:工具如 ESLint 会通过解析代码生成 AST,然后检查代码是否符合规范。代码转换。
2025-01-06 11:25:07
936
原创 前端基础知识:浏览器的进程与线程
将不同的功能模块运行在独立的进程中,以提升性能和稳定性。是浏览器中的核心模块之一,其内部又包含多个线程协同工作。现代浏览器(如 Chrome、Edge)采用了。
2025-01-06 10:27:23
1083
原创 前端开发知识:ES Modules 的工作原理
ES Module(ESM,全称 ECMAScript Module)是 JavaScript 官方引入的模块化方案,从 ES6(2015)开始成为标准。它在浏览器和 Node.js 中都被支持,提供了一种更加现代、简洁和高效的模块化机制。ES Modules 是一种现代化的模块化标准,具备更高效的性能和更强的可维护性,特别适用于现代前端开发。通过静态解析和按需加载,ESM 不仅优化了开发流程,还显著提高了项目的性能表现。即使多次导入同一个模块,也只会加载一次,且返回的始终是同一个模块实例。
2025-01-06 09:20:03
864
原创 怎么解释Promise-like
方法的对象都可以被认为是 "thenable"。这个对象可能并没有真正的异步行为,但它看起来像是一个。这种对象通常用于一些异步操作库或者框架中,提供与。方法,因而可以被视作是一个 "Promise-like" 对象。实例,但它们为异步编程提供了类似的接口和行为。"Promise-like" 是一个对象,具有与原生。),并且返回一个新的对象,可以继续链式调用。,因此称之为 "Promise-like"。指的是一种对象,虽然它不是原生的。方法,虽然它并不是真正的。的对象,它们并不完全是。
2025-01-02 13:51:27
338
原创 面试再问到VUE中DefineProperty和Proxy区别,就这么回答。
是 ES6 中引入的一个新特性,它允许我们定义一个对象的代理,能够捕获对对象的所有操作(例如:读取属性、修改属性、删除属性等)。:这种方式通过劫持每个属性的 getter 和 setter 来实现响应式,适用于简单的对象,但对于深度嵌套的对象或动态添加的属性会导致性能问题。能够代理整个对象,支持更多的操作,并且性能更好,能够自动响应新增和删除的属性,代码更简洁且无需递归处理,适合复杂对象和大规模应用。都是用来实现响应式的技术,但它们有很大的不同,尤其是在 Vue 2 和 Vue 3 中的实现和性能上。
2025-01-02 11:09:47
640
nodeJS扫描项目中所有可访问页面文件路径
2025-01-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人