- 博客(101)
- 收藏
- 关注
原创 垃圾回收(GC)机制
和生活一样,生活时间长了就会产生生活垃圾,程序运行一段时间后也会产生垃圾。在程序世界中,什么是垃圾?答:若一个对象没有任何的变量对其进行引用,那么这个对象就是一个垃圾。垃圾对象的存在,会严重影响程序的性能。在JS中有自动的垃圾回收机制,这些垃圾对象会被解释器自动回收,无需我们手动处理。对于垃圾回收,我们能做的就是将不再使用的变量设置为 null。
2025-06-18 10:13:57
553
原创 JS内存泄漏
内存泄漏的本质是本该被释放的对象,但依然还存在引用,导致无法被垃圾回收。内存泄漏:就是程序认为一个变量已经没用了(是程序对一段内存失去了控制权,而不是内存数量突然暴增),而垃圾回收机制认为这个变量还在使用,从而导致这段内存无法释放。
2025-06-11 17:56:38
346
原创 HTTP和HTTPS的区别
http:超文本传输协议,https:安全超文本传输协议,都是互联网数据传输的基础协议,核心区别在于安全性和加密机制。
2025-05-31 10:00:00
761
原创 JS高级 - 对象
对象是多个数据的封装体:将相关数据组织在一起,是保存多个数据的容器:可以存储各种类型的数据,是一个对象代表现实中的一个事物:每个对象对应现实世界中的一个实体
2025-05-27 15:16:37
201
原创 JS中对象方法与函数调用(高阶函数理解)
对象属性可以通过点符号访问数组元素可以是函数并可以被调用函数可以作为对象属性值函数可以返回其他函数(高阶函数)可以通过链式调用 func1()() 来依次调用多个函数console.log 等内置函数可以被赋值给变量并调用
2025-05-16 10:40:46
386
原创 作用域和作用域链
全局作用域:最外层的作用域,任何地方都能访问。函数作用域:函数内部的作用域,函数外部无法访问。块级作用域:let和const 声明的变量所在的代码块,代码块外部无法访问。
2025-05-14 14:13:48
360
原创 uni-app 中的条件编译与跨端兼容
uni-app 为了实现一套代码编译到多个平台(包括小程序,App,H5 等),引入了条件编译机制。 通过条件编译,我们可以针对不同的平台编写特定的代码,从而实现跨端兼容。uni-app 的条件编译机制是一种强大的跨端兼容工具。 合理使用条件编译,可以编写一套代码,运行到多个平台,极大提高开发效率。 在使用条件编译时,要清晰的组织代码,做好测试,并避免滥用。通过结合各种最佳实践,可以有效地管理跨平台开发的复杂性,提升应用质量。
2025-05-09 10:48:48
1137
原创 闭包(Closure)及其作用和影响
闭包(Closure)指的是一个函数能够记住并访问其词法作用域(lexical scope),即使该函数在其词法作用域之外执行。换句话说,闭包让函数可以“记住”它被创建时的环境。闭包的核心特点函数嵌套:闭包通常涉及嵌套函数(一个函数内部定义另一个函数)。内部函数引用外部变量:内部函数引用了外部函数的变量。外部函数执行完毕后:即使外部函数已经执行完毕,内部函数仍然可以访问外部函数的变量(因为这些变量被“保存”在内存中)。
2025-05-03 09:45:00
708
原创 null 与 undefined 的区别
null 表示一个空对象指针。 也就是说,它通常表示一个对象应该存在,但目前是空值。 它是一种故意为之的“无值”。 程序赋予的。undefined 表示一个变量声明了但未赋值,或者一个对象缺少某个属性,或者函数没有返回值(或者 return 语句没有明确返回值)。 它是一种更偏向于“不存在”或者“未定义”的含义。 引擎赋予的。
2025-04-30 15:30:00
2298
原创 let,const,var 的区别
在 JavaScript 中,let、const 和 var 都用于声明变量,但它们在作用域、变量提升和重复声明等方面有显著区别。
2025-04-30 09:30:00
429
原创 清除浮动的重要性及解决办法
由于父级盒子很多情况下,不方便给高度,但是子盒子浮动又不占有位置,最后父级盒子高度为0时,就会影响下面的标准流盒子。父元素高度塌陷: 如果父元素内部的所有子元素都浮动了,并且没有设置明确的高度,父元素可能会因为子元素脱离文档流而坍塌为零高度,导致父元素的背景、边框等样式无法显示。后续元素布局错乱: 浮动元素会影响后续元素的布局,可能导致后续元素环绕浮动元素,或者出现垂直重叠等问题。
2025-04-29 10:30:00
882
原创 XSS风险(跨站脚本攻击)
XSS 是一种常见的 Web 安全漏洞,可能导致严重的后果。我们需要从输入验证、输出编码、使用安全的函数、启用内容安全策略等多个方面入手,全面预防 XSS 攻击。 通过不断学习和实践,提高安全意识,才能更好地保护我们的 Web 应用程序安全。
2025-04-28 10:15:00
949
原创 JS中的数据类型及其区别
JavaScript中的数据类型大致可以分为两类:基本类型(原始类型) 和 引用类型(复杂类型)。它们的区别主要体现在存储方式、操作行为和比较逻辑上。
2025-04-27 10:45:00
322
原创 判断 this 的指向
在 JavaScript 中,this 的指向取决于函数的 调用方式,而不是定义位置(与作用域无关)。在 非严格模式 下,this 指向全局对象(浏览器中是 window,Node.js 中是 global)。在 严格模式 下,this 是 undefined。
2025-04-26 12:45:00
369
原创 CSS预处理器
CSS 预处理器是一种特殊的编程语言(脚本语言),它扩展了 CSS 的功能,能够使用变量、混合(Mixins)、函数、循环、条件语句等编程特性来编写 CSS 代码。预处理器会将这些代码编译成标准的 CSS 代码,供浏览器解析和渲染。简单来说,CSS 预处理器是一种让 CSS 更易于编写、维护和管理的工具。
2025-04-26 11:45:00
687
原创 CSS盒子模型
标准化盒子模型: 在项目中,建议使用 box-sizing: border-box 来统一盒子模型,这样在计算元素尺寸时会更直观和方便。避免过度使用外边距: 在垂直方向上,相邻元素的外边距可能会发生折叠,导致意料之外的布局问题。可以考虑使用内边距或 padding 来替代外边距。理解盒子模型的计算: 在设置盒子的尺寸时,要考虑到 padding 和 border 的影响,特别是使用标准盒子模型时。使用 CSS 预处理器: 如果项目中需要大量的盒子模型相关的样式,可以考虑使用 Less, Sass 等
2025-04-24 09:15:00
854
原创 重绘与重排
当元素的外观(如颜色、背景等)发生改变,但不影响其在文档流中的位置和大小,浏览器会重新绘制该元素。这是一个相对较快的操作,因为不需要重新计算元素的几何属性。重排指当渲染树中的部分或全部元素因其尺寸、布局、隐藏等改变而需要重新构建的过程。这意味着浏览器需要重新计算元素的几何属性(位置、大小等),并更新渲染树。重排一定会导致重绘。
2025-04-23 16:51:30
676
原创 浅拷贝与深拷贝
浅拷贝只复制对象的第一层属性,如果属性是引用类型(如对象、数组等),则复制的是引用地址,而不是真正的值。因此,修改拷贝后的对象中的引用类型属性会影响原对象。深拷贝会递归地复制对象的所有层级属性,创建一个完全独立的新对象,修改拷贝后的对象不会影响原对象。(新对象和原对象完全独立)
2025-04-22 14:50:58
807
原创 蓝桥杯 - 中等 - 分一分
如果给你一个数组,你能很快将它分割成指定长度的若干份吗?本题需要在已提供的基础项目中使用 JS 知识封装一个函数,达到分割数组的要求。
2025-04-09 08:30:00
382
原创 蓝桥杯 - 简单 - 爱拼才会赢
由爱拼社举办的拼图大赛进行到最后一关,1 号选手小蓝披荆斩棘成为全场黑马。本关卡需要选手使用 CSS Grid 布局完成拼图页面,但是由于小蓝技术水平有限,拼图的效果没有达到预期。现在邀请你作为协助嘉宾帮助小蓝优化拼图页面的效果。本题需要在已提供的基础项目中,使用 CSS 让拼图正确显示。
2025-03-31 09:27:01
282
原创 蓝桥杯 - 中等 - 水果拼盘
目前 CSS3 中新增的 Flex 弹性布局已经成为前端页面布局的首选方案,本题可以使用 Flex 属性快速完成布局。
2025-03-30 10:30:00
329
原创 蓝桥杯 - 中等 - 年会不能停
蓝小胖在公司上班多年,公司一直没有举行什么年会活动,很多员工都在背后抱怨。老板为了安抚人心,让蓝小胖设计一个抽奖活动,蓝小胖设置的奖品有手机、空调、平板、200 现金,并且设置对应的中奖概率分别为 10%,20%,30%,40%。
2025-03-29 08:15:00
272
原创 蓝桥杯 - 中等 - 绝美宋词
“今宵酒醒何处,杨柳岸晓风残月”,“蓦然回首,那人却在灯火阑珊处”,“试问闲愁都几许?一川烟草,满城风絮,梅子黄时雨” ......宋词可谓是古代文学桂冠上一颗璀璨的明珠,本题将实现一个在搜索框中输入关键字,实时显示符合条件的完整宋词的功能。
2025-03-28 14:24:35
861
原创 蓝桥杯 - 简单 - 菜单树检索
实际工作中很多前端攻城狮都会遇到这样一个需求:在多级菜单树中模糊搜索匹配的菜单项,并显示出来。本题需要在已提供的基础项目中使用 Vue.js 知识,实现对已提供的二级菜单树的动态渲染及模糊搜索功能,最终将符合搜索要求的二级菜单树显示在页面中。
2025-03-27 11:16:22
637
原创 蓝桥杯 - 简单 - 产品360度展示
在电子商务网站中,用户可以通过鼠标或手势交互实现 360 度全方位查看产品,提升用户体验。现在需要你设计一个 Pipeline 管道函数,用于控制 360 度展示产品的动画序列,通过管道连接各个动画步骤,使产品以流畅的方式呈现给用户。
2025-03-26 09:30:00
701
原创 蓝桥杯 - 简单 - 图片水印生成
很多网站都会通过给图片添加水印的形式来标记图片来源,维护版权。前端生成水印通常是通过 canvas 实现,但实际上我们也可以直接利用 CSS 来实现图片水印,这样做会有更好的浏览器兼容性。本题中你将封装一个创建文字水印的函数。
2025-03-26 09:15:00
728
原创 蓝桥杯 - 简单 - 布局切换
为了提高用户体验,网站有时需要多种浏览模式。现在特邀请你为蓝桥官网设计具有经典、浏览和工具三种布局模式。使用户可以根据具体情况选择合适的模式,以便更好地浏览网页内容。本题需要在已提供的基础项目中使用 JS 完善代码实现布局的切换。
2025-03-24 20:45:00
352
原创 蓝桥杯 - 中等 - 智能停车系统
蓝桥社区停车场正式对外开放,但由于停车位线标记不够完善,车主总是乱停乱放。为了使车辆有序的停放,现在给停车场绘制了醒目的停车位线。本题需要在已提供的基础项目中,使用 CSS 让每辆车正确停放至停车位。
2025-03-24 09:30:22
341
原创 蓝桥杯 - 简单 - 电影院排座位
随着人们生活水平的日益提升,电影院成为了越来越多的人休闲娱乐,周末放松的好去处。各个城市的电影院数量也随着市场的需求逐年攀升。近日,又有一个电影院正在做着开张前期的准备,小蓝作为设计工程师,需要对电影院的座位进行布局设计。本题需要在已提供的基础项目中,使用 CSS 达到对电影院排座位的目的。
2025-03-21 12:04:01
520
原创 蓝桥杯 - 简单 - 水果摆盘
目前 CSS3 中新增的 Flex 弹性布局已经成为前端页面布局的首选方式,这次试题将利用 Flex 实现经典布局效果。
2025-03-20 09:37:38
407
原创 蓝桥杯 - 中等 - 新手引导
在一些功能复杂的网站或者 App 内,在新用户初次使用时,一般会有个新手引导的弹窗,对应用的功能点进行说明。本次小蓝将挑战即要用原生 js 实现一个新手引导弹窗的功能。
2025-03-19 16:44:20
207
原创 蓝桥杯 - 简单 - 画一只考拉
CSS3 的 Flex 弹性布局和 Grid 网格布局已经成为前端页面排版的主流选择。本次挑战将使用这两种布局方式来画一只考拉。
2025-03-12 10:45:00
228
原创 蓝桥杯 - 简单 - 由文本溢出引发的“不友好体验”
蓝桥杯 - 简单 - 由文本溢出引发的“不友好体验”,通常情况下,为保证布局的稳定性,以及遵循在有限的空间展示更多内容的原则,页面的某块区域不会随内容的增多而无限增高或增宽,一般会有一个约束。例如:整体元素过多可以使用滚动条;文字内容过多可以使用文本溢出处理。这些情况在实际开发中经常遇到。例如电商平台的商品列表中对商品的描述通常是简短的介绍,详细的介绍需要点击进去才能看到。
2025-03-11 09:45:00
261
原创 蓝桥杯 - 简单 - 个人博客
蓝桥杯 - 简单 - 个人博客,很多人都有自己的博客,在博客上面用自己的方式去书写文章,用来记录生活,分享技术等。下面是蓝桥云课的博客,但是上面还缺少一些样式,需要大家去完善。
2025-03-10 11:00:00
128
原创 蓝桥杯 - 简单 - 工作协调
蓝桥杯 - 简单 - 工作协调,项目管理是一项需要协调多方的工作,小蓝最近刚开始接触项目管理的工作,在对项目进行排期之前,小蓝需要将这些分散的工作内容进行整理,从而确定哪些工作可以由某个成员独立完成,以及哪些工作需要多方配合完成。
2025-03-08 10:36:50
392
原创 React - Hooks - useEffect
useEffect 是 React 中的一个 Hook,允许在函数组件中处理副作用。副作用可以是在组件渲染后执行一些操作,比如数据获取、订阅或手动修改DOM等。useEffect 提供了一种简洁的方式来管理这些副作用,而不需要像类组件中的生命周期方法那样进行繁琐的管理。
2025-03-05 09:00:00
393
原创 React - Hooks - useState
useState 是 React 中的一个 Hook,用于在函数组件中添加状态。它允许在组件中管理局部状态,并在状态更新时触发组件重新渲染。useState 是用来在函数组件中添加状态的 Hook。可以使用它来管理简单的基本类型状态,也可以使用对象和数组来管理更复杂的状态。记得处理状态更新时的异步性和合并状态的问题。
2025-03-04 10:30:00
424
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人