依赖注入(DI)
# 定义
依赖注入(Dependency Injection, DI)是一种设计模式,用来管理对象的依赖关系。核心思想是将对象所依赖的组件交由外部注入,而不是让对象自己创建或管理它们的依赖。这样做的好处是可以减少代码的耦合性,提高代码的可维护性、测试性和扩展性。
依赖注入其实 没有跳过或者使用其他方法代替【生成实例】这个过程,而是采用某个机制(如 IoC 容器)来管理依赖的实例化和分发,改变了传统的由代码显式创建实例的行为。这种机制核心是 ** 控制反转(Inversion of Control, IoC):** 组件不再主动创建依赖,而是交由容器来提供。更多内容可查看第五点:详解。
#
more...装饰器语法
# 定义
装饰器(Decorator)是一种特殊的语法,用于修改类、方法、属性或参数的行为。装饰器在很多语言中都有支持,JavaScript 在 ES6 中也引入了类装饰器,并在 TypeScript 中得到了广泛使用。装饰器语法可以增强类或其成员的功能,使代码更具可维护性和可扩展性。
装饰器目前属于【实验性语法】,因此在项目中使用可能需要用到对应插件进行解析、转换
# 基本语法
装饰器的基本形式是一个函数,它接收目标对象、属性名称等参数,并可以修改目标或属性的行为。
# 类装饰器
类装饰器是作用于整个类的,它接收类的构造函数作为参数,并可以对类进行修改或扩展。
function LogC
more...Float32Array
# 定义
Float32Array 是 JavaScript 中一种用于处理 32 位浮点数的类型化数组(typed array)。它提供了一种高效的方式来处理二进制数据,尤其在 WebGL 或其他需要对大量数值进行快速处理的应用中,Float32Array 非常有用。
# 基本用法
Float32Array 可以用来存储和操作浮点数数组,每个元素都是 32 位浮点数(与 IEEE 754 标准兼容)。
它的使用方式类似于普通数组,但操作更接近底层,适合在性能敏感的场景下使用。
# 创建方式
有多种方式可以创建 Float32Array 对象:
通过长度创建空数组:
let arr &
more...Tree-shaking
# 定义
“Tree-shaking”(摇树优化)是现代 JavaScript 模块打包工具(如 Webpack、Rollup 等)中的一种优化技术。
其主要原理是在构建过程中,通过静态分析模块的导入和导出,检测并消除未实际使用的代码。这就好比摇动一棵树,让无用的 “叶子”(未使用的代码)掉落。
例如,如果您有一个模块导出了多个函数,但在实际使用该模块的代码中只调用了其中的一部分函数,那么在打包时,未被调用的函数所对应的代码将不会被包含在最终的构建产物中。
# 优点
减小生成的代码体积:去除未使用的代码,从而减少了最终文件的大小,提高了加载速度。
优化性能:减少了不必要的代码执行和加载,提高
more...WebAssembly
WebAssembly(简称 WASM)是一种新的字节码格式,旨在为 Web 应用提供高效的执行性能。
其具有以下主要特点和优势:
高性能:它的执行速度接近本地机器代码,比传统的 JavaScript 代码在某些计算密集型任务(如图形处理、数学计算、游戏逻辑等)中快得多。
可移植性:可以在各种平台和浏览器上运行,具有很强的跨平台能力。
语言无关性:能够将用 C、C++、Rust 等多种低级语言编写的代码编译为 WebAssembly 模块,并在 Web 应用中使用。
高效的压缩和传输:WebAssembly 模块通常具有较小的体积,能够快速下载和加载。
例如,在一个在线图像编辑应用中,如
more...Hexo主题使用遇到的的问题
# 图片相对路径获取出错
---title: templatetags:date: 2024-12-11 09:55:00# 封面图# cover: assets/Nichijou.webp# gallery post(画廊类型文章)# 若未设置 cover,则使用 photos 中第一张图片作为封面图photos: - /assets/高松灯.webp - /assets/Kirby.jpg - https://wallhalla.com/wallpaper/83/variant
more...Hexo & Markdown 语法
# Fornt Matter
---title: Hexo & Markdown 语法 # 标题tags: [Markdown, 教程]# 标签date: 2024-12-11 09:55:00 # 时间cover: images/Journey.jpg # 封面photos: # gallery 相册 # 若未设置 cover,则使用第一张图片作为封面 - images/Nichijou.jpg - images/高松灯.jpg - images/Kirby.jpg - https://wallhalla.com&
more...








