自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue2怎么正确处理属性增加和删除

Object.defineProperty只能拦截对象属性的读取(get)和设置(set),Object.defineProperty必须深度遍历对象所有属性。无法检测到通过索引设置值(arr[0] = newValue)​(push/pop/shift/unshift 等)1.使用Vue.delete或this.$delete。Object.defineProperty需要 ​。1.使用Vue.set或this.$set。2.使用this.$set修改数组元素。2.创建新对象替换原对象。

2025-05-12 16:13:41 402

原创 js触发隐式类型转换的场景

JavaScript 的隐式类型转换(Implicit Type Coercion)会在某些操作或上下文中自动触发,将值从一种类型转换为另一种类型。

2025-04-11 16:12:07 412

原创 CSS高度坍塌?如何解决?

高度坍塌(Collapsing Margins)是指当父元素没有设置边框(border)、内边距(padding)、内容(content)或清除浮动时,其子元素的 margin 会"溢出"到父元素外面,导致父元素的高度计算不包含子元素的 margin,看起来像是父元素"坍塌"了。

2025-04-11 15:23:54 655

原创 深入解析ES6+新语法:复杂的迭代器与生成器

*(Iterator Protocol)** 是一种标准化的数据访问接口,它要求对象实现一个 `next()` 方法,每次调用返回包含 `{ value, done }` 的对象。- **`value`**: 当前遍历的值- **`done`**: 布尔值,表示遍历是否结束此迭代器通过内部维护的 `index` 状态,逐步遍历数组元素。

2025-03-18 21:19:19 565

原创 强化 CSS 样式优先级的多种方法

在 CSS 中,优先级的计算主要依赖于选择器的权重。权重越高,优先级越高。CSS 选择器的权重计算规则权重的计算是累加的。例如:/* 权重 = 1 (div) + 10 (.box) + 100 (#id) = 111 */

2025-02-12 11:30:26 1174

原创 深入理解 Scoped CSS 的限制及其穿透方法

Scoped CSS 是 Vue 提供的一种强大的样式隔离机制,但在某些场景下会带来限制。通过穿透 Scoped CSS 的方法(如 `:deep()`),我们可以灵活地修改子组件或深层 DOM 的样式。选择合适的穿透方法:- Vue 3 项目:推荐使用 `:deep()` 或 `::v-deep`。- Vue 2 项目:可以使用 `/deep/` 或 `>>>`,但建议尽早迁移到 Vue 3。

2025-02-12 11:13:30 1038

原创 模拟new关键字时产生的问题,求解答!

模拟new关键字。

2024-09-10 18:19:30 307

原创 js对象操作常用方法

2.构造函数创建 2.方括号三、添加属性四、删除属性五、判断属性是否存在1.in运算符2.hasOwnProperty方法六、遍历对象属性1.for...in...循环2.Object.keys,Object.values,Object.entries七、深拷贝与浅拷贝1.浅拷贝2.深拷贝八、合并对象Object.assign九、其他方法1.Object.is() 比较两个

2024-09-02 10:21:44 796

原创 js字符串常用方法

/ 输出 12。

2024-09-02 10:02:30 320

原创 H5新特性

H5引入了一系列语义化标签,例如优点:页面结构更加清晰、可读性增强;利于搜索引擎优化和无障碍访问。

2024-08-25 13:54:09 1373

原创 vue中的nextTick到底是什么!!!

最后推荐大家去读读官方文档。

2024-08-23 12:01:27 885

原创 js定时器 setTimeout和setInterval对比

执行一次函数。

2024-08-23 10:32:36 665

原创 前端构建工具 webpack与vite对比

Webpack是一个功能强大的模块打包器,它允许开发者以模块化的方式组织代码,在启动时加载所有相关依赖。Webpack通过Loaders和Plugins提供了丰富的扩展能力,能够实现代码拆分、懒加载、热模块替换(HMR)等功能,以及为开发和生产环境提供不同的配置选项。

2024-08-22 23:31:40 1005

原创 前端面试题 webpack的工作流程

loader。

2024-08-22 23:03:20 522

原创 js模块化

模块化就是将一个大型项目,拆分成多个小模块,模块间相互隔离。例如:一个文件可以是一个模块,各文件间数据不能共享。

2024-08-21 22:41:28 162

原创 js全局搜索高亮显示

输入想要搜索的内容:对应内容高亮显示:错误实现:1.直接更改body的innerHTML,导致绑定在输入框上的input事件失效这是因为,修改body的innerHTML相当于重写了body里面的输入框,这就相当于创建了另外一个dom对象,之前渲染的dom跟这个新的dom对象没有关系,所以就导致了事件的丢失。2.每次不还原初始状态,导致搜索内容改变后,原来的高亮依然存在所以要在一开始记录初始innerHTML,每次input事件触发后要先还原回初始状态。3.没有考虑到标签名

2024-08-21 18:03:01 565

原创 js 手写图片懒加载插件

利用交叉观察器Intersection Observer实现图片懒加载。自定义插件:暴露一个对象,包含一个install方法。不清楚图片懒加载原理的参考我的上一篇博客。

2024-08-20 22:16:54 473

原创 js面试题 图片懒加载!

若一个页面有大量的图片资源,网页首次打开时,若同时加载完这些资源,需要消耗大量的时间,利用图片懒加载,先加载部分图片,既不会影响用户体验,又能大幅提升首屏加载速度。注:data-* 属性是自定义数据属性,不会影响布局和表现,可以通过DOM元素身上的dataset属性获取,是HTML5引入的新功能。加载:当网页被打开时,浏览器会自动解析img标签,查看src属性,得到图片url,发请求获取图片资源。使用这个API可以更精确地控制懒加载行为,减少滚动事件的直接使用,从而避免潜在的性能问题。

2024-08-20 20:44:43 606

原创 js面试题 diff算法

其中updateChildren方法用到的是首尾指针法。,而不用更新其他数据没发生改变的节点,实现。,并只更新这个虚拟节点所对应的。对比新旧虚拟DOM。地更新真实DOM,进而。

2024-08-18 16:49:20 543

原创 js面试题 数组去重

JavaScript 的Set对象,它是一个只包含唯一值的集合。所以先将数组转化为Set集合,过滤掉重复元素,再用Array.from() 方法还原为数组。

2024-08-18 15:51:48 174

原创 js面试题 keep-alive

缓存组件状态。

2024-08-18 10:31:45 247

原创 js 防抖与节流(画图讲解)

控制频繁访问,减少访问次数控制频繁访问,减少访问次数。

2024-08-17 16:48:37 223

原创 js面试题 闭包

闭包让你可以在一个内层函数中访问到其外层函数的作用域能在外层函数中访问内层函数吗?显然不能但是可以在内层调用外层作用域的变量。

2024-08-16 22:08:06 258

原创 js原型链

2024-08-16 16:11:16 361

原创 js面试题 异步解决方案

把 需要得到异步任务结果之后才能执行 的内容放进回调函数中,异步任务完成后 调用作为函数参数的callback。那要如何处理这样的异步任务呢?怎样能够得到异步任务执行完的结果再继续接下来的工作呢?需要等待多个Promise的结果怎么办呢?传递给另一个函数,并在被调用函数。回调函数是一种特殊的函数,它。返回的是Promise对象。

2024-08-16 16:00:19 217

原创 js中this的指向以及改变this指向的方法

直接调用全局函数fun(),实际上是window.fun()的简写,调用者是window。1.最外层没有函数包裹,那就是在全局作用域下。this指向.前面的对象。

2024-08-16 11:17:13 267

原创 js深拷贝与浅拷贝

如果我只想复制一个对象而且不想让它对我原来的对象产生影响那该怎么办呢?缺点:对象中值为undefined的属性和对象中的函数无法转化。这个时候,两个引用共同指向一块内存。这样会带来什么问题呢?当一个对象的属性值发生变化时,另一个对象也随之受到影响。JSON.stringify() 将对象转化为字符串。JSON.parse() 将字符串转化为对象。

2024-08-15 22:07:44 275

原创 js数组的常用方法!!!

【代码】js数组的常用方法!!!

2024-08-15 18:14:25 169

原创 js数组常用方法

例如:数组[1,2,3] 与 字符串“123”。可以把数组视为分隔开的字符串,而字符串是合并后的数组。

2024-08-15 17:45:13 216

原创 js怎么判断数据类型

数字、字符串、布尔等基本类型可以由typeof进行判断,复杂数据类型大多都被认为是对象。但是由于Array也是继承于Object的,所以这样是无法精准区分的。注:undefined可以判断,null则被视为空对象。所以我们采用判断其构造函数的方法判断其本身。

2024-08-15 12:12:49 213

原创 js的数据类型与传值和传址

js中的数据类型分为两类数字number,字符串string,布尔boolean,null,undefined,Symbol。注Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。对象Object,数组Array,函数Function。还有两个特殊的对象:正则RegExp,日期Date。

2024-08-15 11:16:21 259

原创 如何用vite快速初始化vue3项目!

用vite快速初始化vue3项目

2024-07-14 12:53:48 195

原创 LeetCode每日一题 跳跃问题

思路:每一步跳跃的长度都只有一个范围,不是固定的长度,这无疑增加了题目的难度,难道要每一种可能的跳法都尝试一下吗?

2023-08-28 22:26:14 175 1

原创 LeetCode 每日一题之 股票求最大利润问题

此时,起点就是整段的局部最低点,起点之后的各点都可以作为卖出点,各求利润然后遇到更大的覆盖就行了;找到下一个起点的方法就是找到下一个比当前起点更低的点。以第一点为第一段的起点,水平画线,再次碰到k线之前为一段。

2023-08-26 22:32:07 482

原创 C++ 每日一题 实现一组数按顺序全排列

题目:

2023-08-20 19:35:50 156 1

原创 C++实验课 实现银行叫号器功能 自动滚动+键盘上下左右键移动数字

if (clock() - t2 > 200)//只有读取到按键之后才更新。if (clock() - t1 >= 1000)//一秒更新一次。利用伪双线程实现 包含光标移动 隐藏光标的实现。

2023-04-20 16:31:55 440

原创 C++实验作业三

/在一个显示区域内从上到下按顺序显示5个号码,最开始是1-5。//在一个显示区域内从上到下按顺序显示5个号码,最开始是1-5。if (ch == 224) { //判断是否为方向键。//使用键盘交互与计时器实现该程序,使用容器装载号码。//使用键盘交互与计时器实现该程序,使用容器装载号码。if (ch == 27)//ESC键。if (ch == 32)//空格键。void update()//按时更新 线程。

2023-04-16 19:47:10 429

原创 C++ 实验四 字符串处理

第四次实验:字符串从键盘输入一个字符串s,形如:"abc345def"里面有一个数字字符子串(如上面串中的“345”),将其取出,并且在其数值上 + 100,输出运算结果。

2023-04-03 23:16:01 302

原创 C++ LeetCode每日一题 链表居然可以闭合为环!

if (k == 0 || head == nullptr || head->next == nullptr) { //增强健壮性。// 记给定链表的长度为 n,注意到当向右移动的次数 k≥n 时,我们仅需要向右移动 kmodn 次即可。因为每 n 次移动都会让链表变为原状。= nullptr) { //n用来统计链表结点的个数。// 链表开环后返回。

2023-03-30 19:53:41 155

原创 C++ 每日一题 单链表练习

单链表增删改查

2023-03-30 16:22:17 252

空空如也

空空如也

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

TA关注的人

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