HTML
文章平均质量分 73
一只小风华~
学生一枚,请多多指教
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JavaScript 中类(class)的super 关键字
摘要:JavaScript中的super关键字用于实现类继承,主要功能包括:在子类构造函数中调用父类构造函数(必须作为第一行代码),以及在子类方法中调用父类方法(实现方法覆盖时保留父类功能)。使用super时需注意:只能在类方法中使用,构造函数中必须优先调用,且具有静态绑定特性。典型应用场景是在子类扩展父类行为时复用父类逻辑,如React组件继承。正确使用super能提升代码复用性和可维护性,但需避免常见错误如未调用super()或在非类环境中使用。原创 2025-08-25 20:08:47 · 947 阅读 · 0 评论 -
JavaScript 类中静态变量与私有变量的区别及用法
静态变量与私有变量对比摘要: 静态变量使用static声明,属于类本身,所有实例共享,通过类名访问(如Config.API_KEY),常用于全局配置。私有变量以#前缀声明(如#password),仅类内部可访问,每个实例独立存储,用于封装敏感数据。关键区别:静态变量类共享(修改影响所有实例),私有变量实例隔离(仅当前实例可访问)。静态变量通过ClassName.prop调用,私有变量必须通过类方法间接访问。原创 2025-08-25 19:55:09 · 419 阅读 · 0 评论 -
JavaScript Object 操作方法及 API
本文总结了JavaScript中对象的创建方式、核心API及关键特性。创建方式包括字面量、构造函数和Object.create()三种。核心API涵盖属性操作、Object.assign()、遍历方法、fromEntries()及属性描述符操作。关键特性包括仅支持字符串/Symbol键名、无序性、原型链继承。与Map对比,Object适合固定结构数据,而Map更适合复杂键类型、有序存储和高频增删场景。使用时应根据具体需求选择Object或Map。原创 2025-08-22 19:50:04 · 365 阅读 · 0 评论 -
CSS自定义属性(CSS变量)
CSS自定义属性(变量)是CSS3提供的原生功能,允许定义可复用值并在文档中引用,提升代码维护性。核心特点包括:1)使用--前缀定义变量,通过var()函数调用;2)支持全局和局部作用域;3)可实现动态主题切换、响应式设计等场景;4)可通过JavaScript实时修改变量值。相比预处理器变量,CSS变量无需编译且支持继承,但需注意浏览器兼容性(IE不支持)。最佳实践包括语义化命名、合理控制作用域,并配合@supports规则实现优雅降级。原创 2025-08-22 19:40:08 · 843 阅读 · 0 评论 -
CSS @media 媒体查询
摘要:@media媒体查询是实现响应式设计的关键技术,通过检测设备特性(如屏幕宽度、方向、像素密度等)应用不同的CSS样式。其核心语法包括媒体类型、逻辑运算符和常用媒体特性,支持通过CSS内嵌或HTML链接引入。典型应用包括移动优先布局、深色模式适配等,建议采用常用断点(768px/992px/1200px)并遵循移动优先原则。调试时可使用Chrome开发者工具模拟设备,注意避免性能敏感属性。Bootstrap等框架的响应式功能正是基于此技术构建。原创 2025-08-22 19:22:59 · 565 阅读 · 0 评论 -
JavaScript中的深浅拷贝
JavaScript中深浅拷贝是处理对象复制的关键概念。浅拷贝(如Object.assign或展开运算符)仅复制第一层属性,嵌套对象仍共享引用;深拷贝(如JSON方法或递归实现)会递归复制所有层级,实现完全独立。现代API structuredClone支持复杂类型和循环引用,比传统方法更高效。浅拷贝适合简单数据,深拷贝用于需要完全隔离的场景,但需注意性能开销和特殊类型处理。原创 2025-08-21 20:36:26 · 688 阅读 · 0 评论 -
rem 响应式布局( rem 详解)
摘要: rem是CSS中基于根元素字体大小的相对单位(1rem=根font-size值),具有全局可控性,避免em的嵌套问题。通过动态调整根字体大小(如62.5%技巧或JS计算),可实现响应式布局。适用场景包括组件尺寸、间距系统等,但字体建议用em保持层级,边框用px确保精度。开发时可借助预处理器函数简化计算,需注意兼容性(IE9+)并提供px回退。rem适合响应式项目布局,结合vw可优化视口适配,而固定元素建议使用px。原创 2025-08-18 20:43:51 · 851 阅读 · 0 评论 -
Less( 预处理语言)的使用方法
本文介绍了LESS变量的基础用法、HTML间接调用方式、动态操作实现方法及高级应用技巧。主要内容包括:1.定义和使用基础变量;2.通过编译后的CSS类名调用样式;3.结合CSS变量实现动态效果;4.变量插值、运算、颜色函数等高级用法;5.工作流配置建议。特别强调LESS变量需预编译为CSS,无法在浏览器中直接使用,动态修改需借助CSS变量实现。原创 2025-08-18 20:25:51 · 339 阅读 · 0 评论 -
Less (CSS 预处理器)
Less是一种CSS预处理器,为CSS添加编程特性如变量、嵌套、混合等,使样式代码更易维护。核心功能包括:变量定义复用值,嵌套反映层级关系,混合实现代码复用,支持运算和颜色函数处理,模块化导入管理。Less需编译为CSS使用,可通过命令行或构建工具实现。与Sass功能相似但语法更贴近CSS,适合提升大型项目的样式开发效率和组织性。原创 2025-08-18 20:17:18 · 1890 阅读 · 1 评论 -
JavaScript递归
JavaScript递归是一种函数自调用的编程技术,适用于分治类问题。核心要素包括终止条件和递归调用,常见于数学计算(阶乘、斐波那契数列)、树结构遍历等场景。相比循环,递归代码更简洁但存在栈溢出风险,可通过尾递归优化、缓存中间结果或改用循环来优化。使用时需注意终止条件、性能及调用栈限制,在树处理等场景中仍具有独特优势。合理选择递归或循环需权衡可读性与执行效率。原创 2025-08-15 20:25:54 · 319 阅读 · 0 评论 -
JavaScript 中 call、apply 和 bind 方法的区别与使用
JavaScript中的call、apply和bind方法都能改变函数执行时的this指向,但各有特点:call立即执行函数,接收逗号分隔的参数;apply类似但接收数组参数;bind则返回绑定this的新函数而不立即执行。call适合明确参数个数时使用,apply擅长处理数组参数,bind主要用于固定回调函数的上下文。实际开发中,call在性能上优于apply,而bind在事件处理等需要保持上下文的场景中表现突出。这三个方法共同解决了JavaScript函数上下文动态绑定的核心问题。原创 2025-08-15 20:05:08 · 390 阅读 · 0 评论 -
JavaScript 防抖(Debounce)与节流(Throttle)
摘要: 防抖(Debounce)和节流(Throttle)是优化高频事件(如输入、滚动等)的两种策略。防抖通过延迟执行,确保事件停止触发后(如搜索框输入完毕)才执行函数,减少无效计算;节流则强制固定间隔执行一次(如滚动事件每100ms触发一次),保证流畅性。两者核心区别:防抖侧重“最后一次触发生效”,节流侧重“均匀执行”。实际开发中需根据场景选择——防抖适用于搜索、窗口调整等,节流适用于滚动、动画等高频持续事件。代码实现分别依赖setTimeout和时间戳管理触发逻辑。原创 2025-08-15 19:54:37 · 1406 阅读 · 0 评论 -
css中container和media的用法和区别
CSS中的@media和@container都是响应式设计工具,但作用不同:@media基于设备特性(如视口宽度)调整全局样式,适合页面整体布局;@container则基于父容器尺寸调整子元素样式,适合组件级响应。关键区别在于作用范围(全局vs局部)和响应对象(设备vs容器)。实际开发中可结合使用:@media控制页面框架,@container优化组件细节,实现更精细的响应式设计。原创 2025-08-14 20:03:25 · 1261 阅读 · 0 评论 -
CSS isolation属性
CSS的isolation属性用于控制元素是否创建新的层叠上下文,主要配合混合模式(mix-blend-mode等)使用。它有两个值:auto(默认)和isolate(强制创建隔离环境)。关键作用包括:隔离混合效果仅限元素内部、避免z-index冲突、优化渲染性能。典型应用场景是图像叠加特效和多背景动画。使用时需注意浏览器兼容性,避免过度创建层叠上下文影响性能。通过isolation:isolate可以确保混合效果不"泄漏"到父容器或兄弟元素。原创 2025-08-14 19:47:05 · 667 阅读 · 0 评论 -
CSS aspect-ratio 属性
CSS的aspect-ratio属性简化了响应式比例布局的实现,只需一行代码即可固定元素宽高比。它支持基本语法如aspect-ratio:16/9,与width/height配合使用时可自动计算另一维度。该属性适用于图片/视频比例控制、自适应正方形创建和响应式卡片布局等场景,但需注意与现代浏览器的兼容性。使用时建议搭配object-fit防止媒体元素变形,并避免与显式尺寸冲突。示例展示了如何通过aspect-ratio实现网格图库的自适应布局,在不同屏幕尺寸下自动调整比例。原创 2025-08-14 19:36:32 · 813 阅读 · 0 评论 -
CSS中的 :root 伪类
CSS中的:root伪类是文档根元素的选择器,主要用于定义全局CSS变量。该伪类具有以下特点:1)作为CSS变量的理想载体,支持动态主题切换;2)变量通过var()函数调用,可设置默认值;3)结合JavaScriptJavaScript可实现实时样式更新。典型应用包括主题管理、响应式设计和减少重复代码。示例展示了如何通过:root定义变量,并配合JavaScript实现深色/浅色主题切换,具有代码简洁、无需重载页面的优势。注意浏览器兼容性和变量作用域问题,现代项目推荐使用此方案提升开发效率。原创 2025-08-14 19:06:19 · 1111 阅读 · 0 评论 -
JavaScript getComputedStyle 和 getPropertyValue 方法详解
摘要:window.getComputedStyle()方法用于获取元素最终计算后的所有CSS属性值,返回一个实时的CSSStyleDeclaration对象,可通过getPropertyValue()获取具体属性值。该方法能读取默认样式、外部样式和内联样式的叠加结果,但返回值为标准化格式(如颜色转为rgb())。典型应用包括检测渲染尺寸、操作伪元素样式和响应式布局判断。使用时需注意属性名需用连字符格式,频繁调用可能引发性能问题,且计算结果为只读。原创 2025-08-14 18:42:11 · 532 阅读 · 0 评论 -
JavaScript DOM 元素节点操作详解
本文总结了JavaScript操作DOM的主要方法,涵盖获取元素、创建和修改节点、操作属性和样式等核心内容。获取元素可通过ID、类名、标签名、CSS选择器等方式,返回HTMLCollection或NodeList。节点操作包括创建、添加、删除、替换和修改内容,推荐使用textContent防XSS攻击。属性操作支持标准属性、自定义data-*属性和通用方法。样式操作包含内联样式、类名修改和计算样式获取。原创 2025-08-06 20:31:33 · 1098 阅读 · 0 评论 -
Web存储技术详解:sessionStorage、localStorage与Cookie
本文对比了Cookie、localStorage和sessionStorage的核心特性:存储大小(4KB/5-10MB/5-10MB)、生命周期(可设置/永久/会话级)、作用域(全窗口/全窗口/单标签页)和安全性差异。提供了三类存储的API操作示例,包括设置、读取和删除方法。针对不同场景给出使用建议:Cookie适合身份认证,localStorage适合长期偏好设置,sessionStorage适合临时会话数据。原创 2025-08-05 19:42:05 · 500 阅读 · 0 评论 -
BOM Cookie操作详解
本文介绍了Cookie的基本概念、操作方法和使用场景。Cookie是浏览器用于存储会话信息、用户偏好等数据的机制,核心API包括读取、设置、更新和删除操作。文章详细说明了Cookie的作用域、安全属性(如Secure、HttpOnly)和存储限制(4KB/域名)。同时对比了Cookie与localStorage的区别:Cookie适合会话管理(自动随请求发送),而localStorage适合长期存储本地数据(5-10MB)。原创 2025-08-05 19:31:31 · 276 阅读 · 0 评论 -
BOM History对象详解与可视化实现
摘要:History对象是BOM的核心组件,支持单页面应用(SPA)的无刷新导航。主要API包括:history.length获取历史记录数,history.state读取状态对象,back()/forward()控制导航,go()跳转指定位置。pushState()添加新历史记录,replaceState()修改当前记录,两者区别在于是否增加history.length。使用时需注意同源策略,需配合popstate事件处理导航,并手动更新页面内容。关键应用场景包括SPA路由、状态管理和用户行为跟踪。原创 2025-08-05 19:20:57 · 428 阅读 · 0 评论 -
JavaScript 闭包详解:概念、用法与属性
闭包是JavaScript中函数与其词法作用域的组合,使函数能访问定义时的作用域变量。核心特性包括:1)词法作用域持久化,外部变量被引用后不会被回收;2)封装性,可创建私有变量;3)运行时动态绑定变量。主要应用场景包括数据封装、函数工厂、事件处理和模块模式。需注意内存泄漏风险、性能影响和变量共享问题。闭包通过作用域链实现,包含函数自身作用域、闭包作用域和全局作用域。其核心价值在于实现状态持久化、数据封装和动态绑定。原创 2025-08-02 10:19:41 · 828 阅读 · 0 评论 -
JavaScript:Ajax(异步通信技术)
Ajax(Asynchronous JavaScript and XML)是一种实现异步通信的技术,其核心特点是无需刷新页面即可更新数据。本文通过示例代码演示了XMLHttpRequest的基本工作流程:创建对象、配置请求、发送请求、监听响应并处理数据。关键点包括readyState状态码(0-4)和HTTP状态码处理(如200成功、404资源不存在等)。常见问题涉及跨域错误、网络中断和JSON解析错误。示例展示了如何高效获取JSON数据并动态更新DOM,同时强调了错误处理的重要性。原创 2025-08-02 09:45:19 · 311 阅读 · 0 评论 -
JavaScript 定时器
JavaScript定时器使用指南:包括setTimeout和setInterval两种类型,分别用于单次延迟和周期性执行,通过clear方法清除。核心属性包括4ms最小延迟、整数ID和特定this绑定。使用场景涵盖防抖节流、动画轮询和状态延迟处理。需注意事件循环机制、闭包内存泄漏问题,推荐使用Promise封装和精确时间补偿技巧。最佳实践建议动画用requestAnimationFrame,组件清理时清除定时器,非活动页暂停定时器以优化性能。合理选择定时器类型对构建高性能应用至关重要。原创 2025-07-28 20:29:32 · 772 阅读 · 0 评论 -
JavaScript 函数
JavaScript函数是执行特定任务的代码块,支持多种定义方式(函数声明、表达式、箭头函数)和高级特性。核心概念包括执行上下文(this绑定差异)、闭包(封装私有变量)和高阶函数(接收/返回函数)。参数处理支持默认值、Rest参数和解构。异步编程模式涵盖回调、Promise和async/await。最佳实践涉及性能优化(惰性函数)、内存管理及函数式编程原则(纯函数、柯里化)。调试时建议使用命名函数表达式,并通过try-catch处理错误。原创 2025-07-28 20:20:26 · 339 阅读 · 0 评论 -
JavaScript:字符串常用操作和转义符的总结表格
本文介绍了字符串的转义符、属性和常用方法。转义符包括\n(换行)、\r(回车)等特殊字符处理方法。字符串方法如charAt()、indexOf()等均不改变原字符串,而是返回新值。重点对比了substring()、slice()和substr()三种子串提取方法:slice支持负索引,substr正逐步淘汰。还特别说明了split()的分割用法和转义符的使用场景。建议优先使用slice方法,处理路径时注意转义符。所有字符串操作均保持原字符串不变。原创 2025-07-28 20:09:12 · 243 阅读 · 0 评论 -
JavaScript:数组常用操作方法的总结表格
原地修改方法(直接改变原数组):pushunshiftpopshiftsplicereversesort非破坏性方法(不改变原数组,返回新结果):joinconcatindexOf返回值差异返回长度,pop/shift返回被删元素splice返回被删元素的数组concat返回拼接后的新数组(不修改原数组)✅使用注意:操作数组时需明确是否需要保留原数组,非破坏性方法可避免意外修改原始数据。原创 2025-07-28 20:04:02 · 264 阅读 · 0 评论 -
JavaScript 字符串方法详解:前端工程师的终极指南
本文总结了JavaScript字符串操作的常用方法与最佳实践,涵盖10个核心方法:length属性用于长度检查,indexOf/lastIndexOf用于搜索,slice/substring用于提取,大小写转换(toUpperCase/toLowerCase),trim系列处理空白,split用于分割,includes优化搜索,replace实现替换,以及padStart/padEnd进行填充。文章特别强调了Unicode安全处理、性能优化技巧(如预编译正则、数组join代替连接)以及安全编码实践。原创 2025-07-28 19:56:47 · 339 阅读 · 0 评论 -
JavaScript:10个数组方法/属性
本文深度解析JavaScript数组的10个核心方法,涵盖length属性、增删方法(push/pop/shift/unshift)、遍历方法(forEach/map/filter)和查找方法(find/includes)。文章详细阐述各方法的技术原理、性能特点和使用场景:length属性可用于数组截断和预分配;push/pop适合栈操作;shift/unshift慎用于大数据量;forEach/map/filter实现数据转换与筛选;find/includes用于高效查找。原创 2025-07-28 19:38:22 · 1367 阅读 · 0 评论 -
Web前端:JavaScript Math选字游戏 斯特鲁普效应测试
这是一个基于斯特鲁普效应的认知测试游戏。游戏通过随机显示颜色与文字不符的词语(如用红色显示的"蓝"字),要求玩家判断文字的实际颜色而非文字含义。核心功能包括:随机生成题目(使用Math.random()获取颜色和文字索引)、判断用户选择正误、计分系统(答对+1分,答错-1分)和游戏状态控制(10分获胜,0分以下失败)。游戏采用响应式设计,包含视觉反馈效果,适合测试大脑抑制习惯性反应的能力。关键知识点涉及JavaScript随机数生成、DOM操作、事件处理以及心理学中的斯特鲁普效应。原创 2025-07-25 20:31:23 · 431 阅读 · 0 评论 -
Web前端:JavaScript 随机点名系统案例详解
本文介绍了一个基于HTML/CSS/JavaScript的随机点名系统实现方案。该系统具备随机选择学生、动态改变背景颜色、全屏居中显示等功能。核心实现包含:1)使用数组存储学生名单;2)通过Math.random()生成随机数和RGBA颜色;3)采用Flexbox布局实现界面居中;4)添加点击事件处理逻辑。文章详细解析了随机数生成、颜色模型应用、DOM操作等关键技术点,并提供了完整的响应式设计代码,包含动画效果和键盘支持等增强功能。该案例展示了基础Web技术的综合应用,适合作为前端开发学习参考。原创 2025-07-25 20:04:01 · 897 阅读 · 0 评论 -
Web前端:JavaScript Math对象应用 随机背景颜色生成器
本文介绍了一个利用JavaScript Math对象生成随机背景颜色的网页应用案例。通过Math.random()和Math.floor()方法,程序能生成0-255的RGB值和0-1的透明度值,动态改变网页背景色。案例包含完整的HTML结构、CSS样式及JavaScript实现,具有按钮点击和键盘空格键触发功能,并添加了颜色预览、信息面板等交互元素,展示了Math对象在网页开发中的实际应用、DOM操作和事件处理等核心技术。该案例特别适合初学者理解随机数生成、CSS颜色模型和动态网页效果实现。原创 2025-07-25 19:41:33 · 444 阅读 · 0 评论 -
Web前端:JavaScript Math内置对象
JavaScript中的Math对象是一个内置对象,提供数学相关的常量和函数。它不能实例化,所有属性和方法都直接通过Math调用。Math对象包含常用数学常量(如π、e)和各种数学方法,包括取整(ceil/floor/round)、幂运算(pow/sqrt)、三角函数(sin/cos)、对数运算(log/log10)和随机数生成(random)等。ES6新增了trunc、cbrt等方法。Math对象广泛用于数值计算、随机数生成和几何运算等场景,但需注意JavaScript的浮点数精度问题。原创 2025-07-25 19:18:37 · 710 阅读 · 0 评论 -
Web前端:JavaScript indexOf()方法
JavaScript中的indexOf()方法是一个用于查找元素位置的实用工具,适用于字符串和数组。其主要功能是返回目标元素首次出现的索引(从0开始计数),若未找到则返回-1。使用时需注意:区分大小写、仅返回第一个匹配项、支持指定起始搜索位置。常见应用场景包括检查元素是否存在、获取位置进行后续操作以及数组去重。要避免将返回值直接作为布尔值判断,建议显式检查是否不等于-1。对于数组查找,该方法采用严格类型比较(===)。该方法是编程中实现快速定位的基础工具。原创 2025-07-24 20:05:05 · 1104 阅读 · 0 评论 -
Web前端:JavaScript findIndex⽅法
JavaScript数组的findIndex方法用于查找第一个满足条件的元素索引。它接收一个回调函数作为测试条件,返回首个使回调返回true的元素的索引,若无则返回-1。与find(返回元素)、indexOf(值匹配)不同,findIndex支持复杂条件查找且高效。典型应用场景包括查找特定属性的对象位置,比手动循环更简洁。使用时需注意检查返回的-1值表示未找到。原创 2025-07-24 19:54:10 · 931 阅读 · 0 评论 -
Web前端:JavaScript find()函数内判断
JavaScript数组的find()方法用于查找第一个符合条件的元素,找到则返回该元素,否则返回undefined。语法为array.find(callback),支持当前元素、索引和原数组三个参数。其特点包括:匹配到第一个结果立即停止遍历、不改变原数组、支持箭头函数简化代码。与filter()返回所有匹配项不同,find()只返回首个结果;与indexOf()相比,find()能直接查找对象属性。典型应用场景包括通过ID查找用户对象或快速检索首个符合条件的元素。原创 2025-07-24 19:38:49 · 453 阅读 · 0 评论 -
Web前端:JavaScript some()迭代方法
JavaScript数组的some()方法用于检查数组中是否存在满足指定条件的元素。该方法会对每个元素执行回调函数,一旦找到符合条件的元素就立即返回true并停止遍历,否则返回false。语法为array.some(callback),其中回调函数接收当前元素、索引和原数组三个参数。与filter()、every()等方法相比,some()在只需要判断存在性时性能更优。典型应用场景包括表单验证、权限检查等。关键特点包括:不修改原数组、遇到匹配立即终止、对空数组返回false。原创 2025-07-24 19:29:33 · 615 阅读 · 0 评论 -
Web前端:JavaScript every()迭代方法
JavaScript数组的every()方法详解 every()是JavaScript数组的高阶函数,用于检测所有元素是否满足指定条件。其核心特性包括:1)返回布尔值(全满足为true,否则false);2)短路运算(遇false立即停止);3)不改变原数组;4)空数组默认返回true。语法为array.every(callback(element[, index[, array]])[, thisArg])。典型应用包括表单验证、权限校验和数据一致性检查。原创 2025-07-24 19:21:13 · 509 阅读 · 0 评论 -
Web前端开发:JavaScript reduce() 方法
reduce是JavaScript数组方法,用于将数组元素"缩减"为单个值,如求和、拼接字符串或构建新数据结构。其语法为array.reduce(callback, initialValue),其中callback接收累积值(acc)、当前值(cur)等参数,必须返回新的acc值。典型应用包括:计算总和(数字数组)、连接字符串(对象数组)、统计频率(计数对象)和数组扁平化。原创 2025-07-24 19:09:32 · 1108 阅读 · 0 评论 -
Web前端开发:JavaScript遍历方法详解与对比
本文对比了JavaScript中常用的6种循环方法。传统for循环最基础灵活,支持索引操作;for...of适合遍历可迭代对象的值;for...in用于对象属性遍历;forEach是数组专用方法;map和filter分别用于数组转换与筛选。关键区别在于返回值、中断能力和适用数据类型。实践建议:数组遍历根据需求选择方法(for/forEach/for...of/map/filter),对象遍历用for...in并过滤原型属性,避免用for...in遍历数组。原创 2025-07-23 22:50:58 · 475 阅读 · 0 评论
分享