自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 力扣寻找数组中心索引-性能优化思考

本文对比了两个寻找数组中心索引的JavaScript函数性能差异。虽然两个函数时间复杂度均为O(n),空间复杂度均为O(1),但实际测试显示第一个函数比第二个函数快47%。主要原因包括:1)第一个函数使用原生for循环而非Array.reduce()计算总和,减少了函数调用开销;2)减少临时变量rightSum的使用,优化内存访问;3)简化代码路径,移除空数组检查。测试数据表明,在处理100万长度数组时,第一个函数执行时间从15ms降至8ms,内存占用也减少4.7%。结果表明,在相同算法复杂度下,实现细节的

2025-07-01 10:41:26 321

原创 页面通信的方式 :postMessage向指定窗口发送信息

是 HTML5 引入的一个跨文档通信 API,允许不同窗口或 iframe 之间安全地发送消息。通过,你可以向指定的窗口或 iframe 发送信息,并且接收方可以通过监听message事件来接收这些信息。

2024-12-11 11:50:10 2554

原创 单元测试怎么做

Vue 项目的单元测试可以通过 Jest 和 Vue Test Utils 来完成,具体步骤包括:安装 Jest 和 Vue Test Utils。配置 Jest 和 Babel,支持 ES6 及 Vue 组件测试。编写单元测试,使用 shallowMount 或 mount 挂载 Vue 组件,并对组件的输出进行断言。运行测试,确保组件功能符合预期。可以配置 CI/CD 流程,自动运行测试,确保每次提交的代码是经过验证的。

2024-11-06 15:40:13 1105

原创 MVVM前端开发模型,怎么快速定位问题

MVVM(Model-View-ViewModel)是一种常见的前端开发架构,主要用于分离应用的逻辑和UI,提升代码的可维护性和可测试性。在MVVM中,代表数据层,代表用户界面层,而是连接两者的中介,负责处理UI和数据之间的交互。在开发中,尤其是调试和快速定位问题时,可能会遇到一些挑战。

2024-11-06 14:45:29 1011

原创 为什么说vue是双向数据流

Vue 的 双向数据绑定 是其最大的特点之一,通过 v-model 指令实现了数据和视图之间的双向同步,简化了开发流程。与传统的单向数据流模型相比,Vue 提供了一种更加直观和自动化的数据绑定机制,适用于表单、用户输入等场景。但它也带来了性能和维护上的挑战,因此在大规模应用中可能需要谨慎使用。

2024-11-06 14:36:31 1148

原创 如何暴露子组件属性方法

在 Vue.js 中,二次封装组件是指将一个或多个已有组件封装成一个新的组件,以便于复用和管理。在这种情况下,可能需要暴露子组件的方法以供父组件调用。

2024-10-21 09:45:41 503

原创 闭包导致内存泄漏是个伪命题?

内存泄漏是指程序在运行过程中,不再使用的内存空间未被回收,导致可用内存逐渐减少。意外的全局变量:忘记声明变量,导致它成为全局变量。闭包:当闭包保持对外部变量的引用时,如果不适当地管理这些引用,可能导致内存无法被回收。事件监听器:未移除的事件监听器会保持对对象的引用,导致无法释放内存。DOM引用:如果DOM元素被引用但未从页面中删除,可能会造成内存泄漏。闭包并不等于内存泄漏:闭包是JavaScript中的一个重要特性,通常是安全和有用的。

2024-10-19 20:03:24 448

原创 前端流式输出3种实现

Fetch API:适合在HTTP响应中逐步获取和处理数据流。Server-Sent Events:用于从服务器推送实时事件,简单易用。WebSockets:提供双向通信,适合需要实时交互的应用。

2024-10-19 19:58:23 7173 2

原创 js的for in 和 for of的详解

特性for...infor...of遍历对象类型对象的可枚举属性可迭代对象(数组、字符串等)结果属性名(key)属性值(value)遍历方式包括原型链上的可枚举属性仅遍历对象本身的元素不推荐用于数组(可能导致意外结果)对象使用场景遍历对象的属性遍历数组、字符串等可迭代对象。

2024-10-18 11:52:12 575

原创 JavaScript找到深层dom元素并修改的全部方法

在 JavaScript 中,找到深层标签元素并进行修改有多种方法。这些方法可以帮助我们遍历和操作 DOM 结构。以下是所有常用的方法,包括简单查找、选择器、遍历等方式,以及如何修改这些元素的属性和内容。

2024-10-12 09:12:23 513

原创 如何防止按钮重复提交

在前端开发中,防止按钮重复提交是一个常见的需求,可以避免因用户重复点击导致的多次请求发送,从而影响服务器性能或导致数据错误。

2024-10-09 16:45:04 770

原创 react卸载组件通常需要消除哪些副作用

在React中卸载组件时,妥善管理和清理副作用是非常重要的。通过在的清理函数中处理事件监听器、定时器、异步请求、订阅等,可以有效避免内存泄漏和性能问题,从而提升应用的稳定性和用户体验。useEffect。

2024-10-07 13:19:36 877

原创 js统计字符串中每个字符出现的次数

统计字符串中每个字符出现的次数可以使用对象或 Map 来存储字符及其对应的计数。以下是几种常用的方法来实现这一功能。

2024-09-29 10:34:05 1724

原创 uniapp打字效果流式输出

这样就能实现一个简单的打字效果,文本会逐字流式输出。的时间来控制打字速度。

2024-09-23 19:23:31 1915

原创 JavaScript之填充数组的五种方法

填充数组是一种常见的操作,尤其是当你需要初始化数组或填充默认值时。本文将介绍几种不同的方法来填充数组,每种方法都有其适用的场景和用法。

2024-09-12 17:51:22 1705

原创 JavaScript之填充字符串五种方法

在 JS开发中,填充字符串是一个常见的操作,用于在字符串的开头或结尾添加特定字符,使其达到所需的长度。本文将介绍几种实现字符串填充的方法,包括内置方法和一些手动实现的方式。

2024-09-12 17:41:38 1461

原创 JavaScript之如何优化模板字符串的性能

模板字符串在大多数场景下是非常方便和强大的,但在性能要求高的场景下,合理地优化和调整使用方式可以显著提高性能。减少复杂的模板字符串创建、避免在循环中频繁使用复杂模板、优化嵌套表达式的计算、使用更高效的字符串操作方法,以及在不需要模板字符串的情况下考虑使用普通字符串拼接,都是优化性能的有效策略。

2024-09-11 17:33:49 803

原创 JavaScript之模块模式

使用 define 函数定义一个模块,可以指定该模块的依赖项和模块本身的工厂函数。

2024-09-10 11:57:02 1182

原创 JavaScript深入之Class构造及继承的底层实现原理

在 JavaScript 中,class 语法是 ES6(ECMAScript 2015)引入的,用于创建对象的模板和实现继承。尽管 class 语法提供了一种更接近其他面向对象编程语言(如 Java 和 C++)的方式来定义类和继承,但它的底层实现原理仍然基于 JavaScript 的原型链机制。下面是对 class 构造和继承底层实现原理的详细解释。

2024-09-09 22:38:14 793

原创 这些ES6用法你都会吗?

新增ES6语法和使用

2024-09-08 11:58:28 831

原创 JavaScript 深入之浮点数精度

0.1 + 0.2 是否等于 0.3 作为一道经典的面试题,已经广外熟知,说起原因,大家能回答出这是浮点数精度问题导致,也能辩证的看待这并非是 ECMAScript 这门语言的问题,今天就是具体看一下背后的原因。

2024-09-07 23:13:31 1345

原创 为什么vite引用静态资源 new URL 更常用

总之,使用new URL处理静态资源路径可以提高代码的可靠性、可维护性,并确保在不同环境下的一致性。Vite 的构建和优化流程与new URL的使用相结合,使得资源引用更加稳健和自动化。

2024-09-05 11:53:18 866

原创 vue中的css深度选择器

Vue 2.X/* 样式规则 */或者使用>>>/* 样式规则 */

2024-09-02 19:34:18 1142

原创 点击刷新按钮或者按 F5、按 Ctrl+F5 (强制刷新)、地址栏回车有什么区别?

● 点击刷新按钮或者按 F5:浏览器直接对本地的缓存文件过期,但是会带上If-Modifed-Since,If-None-Match,这就意味着服务器会对文件检查新鲜度,返回结果可能是 304,也有可能是 200。● 用户按 Ctrl+F5(强制刷新):浏览器不仅会对本地文件过期,而且不会带上 If-Modifed-Since,If-None-Match,相当于之前从来没有请求过,返回结果是 200。● 地址栏回车: 浏览器发起请求,按照正常流程,本地检查是否过期,然后服务器检查新鲜度,最后返回内容。

2024-09-02 17:30:34 434

原创 JavaScript 小测验 toString

【代码】JavaScript 小测验 toString。

2024-08-31 09:29:49 776

原创 CSS基础 水平垂直居中

根据元素标签的性质,可以分为:● 内联元素居中布局● 块级元素居中布局。

2024-08-30 09:27:54 1332

原创 CSS基础 单行/多行文本溢出

普通情况用在块级元素的外层隐藏内部溢出元素,或者配合下面两个属性实现文本溢出省略。实现原理很好理解,就是通过伪元素绝对定位到行尾并遮住文字,再通过。理解也很简单,即文本在一行内显示,超出部分以省略号的形式展现。可以看到,设置单行文本溢出较为简单,并且省略号显示的位置较好。需要注意的是,如果文本为一段很长的英文或者数字,则需要添加。内核的浏览器,由于移动端大多数是使用。一般文本存在英文的时候,可以设置。,作用是设置文本不换行,是。实现方式也很简单,涉及的。实现也非常简单,核心的。可以看到,上述使用了。

2024-08-29 20:34:30 2108

原创 CSS基础 什么是盒模型

当对一个文档进行布局(layout)的时候,浏览器的渲染引擎会根据标准之一的 CSS 基础框盒模型(CSS basic box model),将所有元素表示为一个个矩形的盒(box)一个盒子由四个部分组成:content、padding、border、margin在css中盒模型可以分为假设一个盒子的css如下。

2024-08-28 15:34:24 906

原创 CSS基础 --- % 相对于谁

CSS 中,这个常见的 % 单位有着什么样的规则呢?这也是一道很好的面试题目,我们在这这篇文章进行梳理。

2024-08-28 11:35:29 1257

原创 HTML5 数据 URL(data URL)是什么?

数据 URL()是一种特殊的 URL 方案,它允许在网页或应用中嵌入数据,而不是通过外部资源进行引用。数据 URL 的格式使得你可以将数据直接嵌入 HTML、CSS 或 JavaScript 中,从而避免了需要通过额外的 HTTP 请求加载外部资源。

2024-08-27 09:17:22 879

原创 Vue 2 项目打包优化

如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。路由懒加载 & 异步组件, 不会一上来就将所有的组件都加载,而是访问到对应的路由了,才加载解析这个路由对应的所有组件。在项目的根目录会自动创建一个文件夹`dist`,dist中的文件就是打包后的文件,只需要放到服务器中即可。vue脚手架只是开发过程中,协助开发的工具,当真正开发完了 => 脚手架不参与上线。打包后,可以生成,浏览器能够直接运行的网页 => 就是需要上线的源码!脚手架: Vue CLI。

2024-08-26 19:32:26 507

原创 return 、break和continue的区别和作用

return 键字并不是专门用于跳出循环的,语句用于从函数中返回一个值并终止函数的执行。当函数遇到return语句时,它会立即停止执行,并将指定的值返回给调用该函数的地方。如果没有指定返回值,则返回undefined。

2024-08-26 10:15:11 827

原创 Javascript之函数式编程

相比命令式编程,函数式编程更加强调程序执行的结果而非执行的过程,倡导利用若干简单的执行单元让计算结果不断渐进,逐层推导复杂的运算,而非设计一个复杂的执行过程。可以看到,函数实际上是一个关系,或者说是一种映射,而这种映射关系是可以组合的,一旦我们知道一个函数的输出类型可以匹配另一个函数的输入,那他们就可以进行组合。纯函数是对给定的输入返还相同输出的函数,并且要求你所有的数据都是不可变的,即纯函数=无状态+数据不可变。在我们的编程世界中,我们需要处理的其实也只有“数据”和“关系”,而关系就是函数。

2024-08-25 22:57:10 944

原创 JavaScript中的内存泄露

并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。进入环境的变量所占用的内存就不能释放,当变量离开环境时,则将其标记为“离开环境“垃圾回收程序运行的时候,会标记内存中存储的所有变量。然后,它会将所有在上下文中的变量,以及被在上下文中的变量引用的变量的标记去掉。这很麻烦,所以大多数语言提供自动内存管理,减轻程序员的负担,这被称为"垃圾回收机制"程序的运行需要内存。语言中,因为是手动管理内存,内存泄露是经常出现的事情。

2024-08-25 22:54:44 890

原创 对象赋值和数组赋值

如果索引超出当前数组的范围,JavaScript 会自动将数组扩展到那个索引,并填充未赋值的元素为。还有很多其他方法,这就实例方法,这就不一一赘述了请参考文档。方法可以用来填充数组中的所有元素或某一部分元素。根据某种条件或计算给数组元素赋新值,可以使用。

2024-08-24 09:18:11 574

原创 你不知道的 length属性之JavaScript基础

在面向对象编程(OOP)中,是指属于对象(实例)的属性。它们是类的一个实例特有的数据,用于存储对象的状态或特征。每个实例属性都是特定对象的一部分,不同的对象可以有不同的实例属性值,即使它们是由同一个类创建的。

2024-08-24 02:55:22 775

原创 viscode 自定义片段,快速生成自己的开发模板

prefix:内容--> 代表用于触发代码片段的内容$1, $2 用于制表位,如 $1 代表生成后第一个输入的位置,$2代表第二个,不用自己移动鼠标",// "$2"// ],// }"body": [" $3"," ",""," }","}","","",""],"description": "Vue选项式模板"

2024-08-24 02:17:44 467

原创 CSS颗粒度是什么?

颗粒度是指物质或信息被划分成不同大小或不同程度的细小部分的程度。在计算机领域中,颗粒度指的是操作或数据的粒度程度;在CSS中,“颗粒度”通常指的是选择器的精确度和样式规则的具体程度。理解颗粒度有助于更有效地控制样式应用,避免样式冲突和提高代码的可维护性。

2024-08-23 14:41:13 1071

原创 CSS中选择器有哪些?(史上最全选择器)

CSS选择器是用来选择和应用样式到HTML元素上的工具。

2024-08-23 09:33:03 543

原创 响应式web设计,纯HTML和CSS的实现技巧( 9 种)

响应式Web设计(Responsive Web Design,RWD)旨在使网站能够在各种设备和屏幕尺寸上良好地显示和操作。

2024-08-22 14:15:11 674

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除