-
- 是的,`Promise.resolve()`返回的Promise是微任务(microtask)。在JavaScript中,Promise的回调(如`.then()`和`.catch()`)会在当前宏任务(macrotask)完成后,作为微任务执行。微任务的执行优先级高于宏任务,例如`setTimeout`或`setInterval`。
- Promise.resolve()本身不是微任务,而是一个同步函数,其作用是立即包装一个值为已解决的Promise对象,真正的微任务是该Promise后续的.then()、.catch()或.finally()回调。1.Promise.resolve(value)同步返回一个已解决的Promise,若value是普通值;2.若value是Promise对象,则直接返回该Promise;3.若value是thenable对象,会同步调用其then方法进行解包,若解包过程涉及异步操作,则回调会通过微任务队列调
- 文章 · 前端 | 4天前 | 375浏览 收藏
-
- 禁用按钮样式保持技巧详解
- 本文旨在提供一套全面的技术方案,解决在Web开发中禁用HTML按钮时,如何避免其默认的灰显样式,从而保持按钮原有视觉风格的问题。我们将深入探讨CSS伪类:disabled的应用,通过重置默认样式属性来确保按钮在功能禁用状态下依然保持设计一致性,并结合JavaScript实现禁用逻辑,同时兼顾用户体验和可访问性。
- 文章 · 前端 | 6天前 | 373浏览 收藏
-
- JS实现图片懒加载技巧分享
- 图片懒加载的实现首先通过将img标签的src替换为data-src来延迟加载,1.使用IntersectionObserver监听图片是否进入可视区域,进入则加载;2.兼容性不足时可引入polyfill;3.可通过getBoundingClientRect或计算偏移量判断,但性能较差;4.推荐IntersectionObserver因其性能高、异步且代码简洁;5.优化体验可结合预加载、占位图、图片压缩、CDN加速和响应式图片,从而显著提升页面加载速度与用户体验。
- 文章 · 前端 | 5天前 | JavaScript 性能优化 图片懒加载 IntersectionObserver data-src 373浏览 收藏
-
- JS动态修改元素样式全攻略
- 在JavaScript中修改元素的样式可以使用三种方法:1.直接操作style属性,适合临时或一次性调整;2.通过className属性应用预定义的CSS类,适合批量应用样式;3.使用classListAPI精细管理类名集合,适合动态管理类名。每个方法都有其优劣,选择需根据具体需求和项目背景。
- 文章 · 前端 | 5天前 | 373浏览 收藏
-
- JS中map方法详解与使用技巧
- <p>JavaScript中的map方法用于对数组每个元素进行处理并返回新数组。map是数组方法,通过传入函数处理每个元素,返回新数组,原数组不变,例如numbers.map(n=>n*2)返回新数组。常见用途包括:1.数据转换,如提取对象字段;2.不推荐直接调用异步函数,应结合Promise.all使用;3.React中配合JSX渲染列表。注意点有:不修改原数组、不能中途break、别滥用做副作用、必须返回值构建新数组。掌握map能提升代码简洁性和可读性。</p>
- 文章 · 前端 | 5天前 | 373浏览 收藏
-
- CSS按钮磁性拖拽效果实现方法
- 优化磁性效果性能的方法包括:1.使用节流(throttling)限制mousemove事件触发频率;2.利用requestAnimationFrame减少DOM重绘;3.简化距离等计算逻辑;4.添加will-change:transform启用硬件加速。调整磁性强度和范围可通过修改strength(建议0.1–0.5)和maxDistance(建议50–200像素)变量实现,并可结合缓动函数使动画更自然。浏览器兼容性方面,应添加CSS前缀如-webkit-transform,使用requestAnimat
- 文章 · 前端 | 5天前 | CSS JavaScript 性能优化 transform 按钮磁性拖拽 373浏览 收藏
-
- offsetWidth与clientWidth区别详解
- offsetWidth和clientWidth的区别在于是否包含边框和滚动条。1.offsetWidth包含内容、内边距、边框及滚动条宽度,反映元素总物理尺寸;2.clientWidth仅包含内容和内边距,不包括边框和滚动条,表示可视区域大小。此外,getBoundingClientRect()能获取考虑CSStransform后的视口位置和尺寸,适用于动画和交互计算;getComputedStyle()用于获取最终计算的CSS属性值,适合读取样式细节。选择不同属性取决于具体需求:offsetWidth适
- 文章 · 前端 | 4天前 | 373浏览 收藏
-
- CSS正方形图片技巧:padding-top百分比应用
- 利用padding-top:100%创建自适应正方形图片容器,因其百分比值相对于父容器宽度计算,使高度等于宽度,形成正方形;2.父容器设width:100%、position:relative和padding-top:100%,内部图片通过position:absolute、top:0、left:0、width:100%、height:100%填充容器;3.使用object-fit:cover确保图片覆盖且不变形,或contain保持完整显示;4.该技巧可扩展至其他宽高比,如16:9视频容器设paddin
- 文章 · 前端 | 3天前 | object-fit position:absolute 宽高比 padding-top 自适应正方形 373浏览 收藏
-
- HTML返回按钮制作及历史返回实现方法
- 实现返回按钮最推荐的方式是使用JavaScript的history.back()或history.go(-1),它们能模拟浏览器的返回功能,动态回到上一个浏览页面;2.使用普通HTML的<a>标签链接到固定页面虽可行,但仅适用于目标明确的场景,缺乏灵活性;3.在单页应用中,可通过history.pushState()添加历史记录、history.replaceState()替换当前记录,实现无刷新的URL变化与历史管理;4.返回按钮设计需考虑用户体验,如使用明确文字或左箭头图标、放置在左上角、
- 文章 · 前端 | 6小时前 | 373浏览 收藏
-
- JS原型链继承原理与实现方式
- 原型链继承的优缺点是:1.实现简单,易于理解;2.父类原型上的方法可被子类实例共享;3.所有子类实例共享父类原型上的引用类型属性,存在修改污染风险;4.无法在创建子类实例时向父类构造函数传递参数。其他继承方式包括:1.构造函数继承,可传递参数且避免属性共享,但无法继承原型方法;2.组合继承,结合原型链与构造函数继承的优点,可继承属性和方法,避免共享问题,是常用方式;3.原型式继承,通过Object.create()实现;4.寄生式继承,在原型式基础上增强对象;5.寄生组合式继承,效率更高,避免重复调用父类
- 文章 · 前端 | 5天前 | 寄生组合式继承 组合继承 原型链继承 JavaScript继承 构造函数继承 372浏览 收藏
-
- CSS实现文字霓虹灯效果教程
- 首先通过text-shadow创建多层光晕模拟霓虹灯效果,其次利用@keyframes动画实现颜色循环;1.设置文字颜色为白色并选用粗体字体;2.使用多层text-shadow叠加,从核心白光到外围绿色光晕,形成发光层次;3.定义@keyframes动画,从初始光晕状态过渡到增强或变色效果,通过infinite和alternate实现平滑循环;最终实现文字霓虹灯的动态变色效果,且动画持续交替运行。
- 文章 · 前端 | 4天前 | 动画效果 text-shadow @keyframes CSS文字霓虹灯 颜色循环 372浏览 收藏
-
- HTML制作组织结构图常用方法及实现步骤
- 要实现HTML组织结构图或树形布局,必须结合CSS和JavaScript,纯HTML无法独立完成;1.使用嵌套的<ul><li>结构构建层级关系,通过CSS去除列表样式、设置弹性布局和伪元素绘制连接线,实现基础静态树形图;2.利用JavaScript将JSON数据转换为树形结构,动态生成HTML节点,并添加展开/折叠、搜索、拖拽等交互功能;3.当节点数量多、层级深或需自动布局、高性能渲染、复杂交互时,应引入D3.js等第三方库或采用SVG/Canvas技术以提升效率和可维护性,最终
- 文章 · 前端 | 4天前 | html CSS JavaScript D3.js 组织结构图 372浏览 收藏
-
- CSS打造3D表格效果教程
- 使用纯CSS为HTML表格添加3D效果的核心是利用transform属性结合perspective实现视觉上的“假3D”。1.首先在容器上设置perspective,定义透视深度;2.对表格或其子元素应用rotateX、rotateY等变换,形成倾斜角度;3.通过translateZ实现悬停时的“浮起”效果;4.可借助伪元素模拟单元格厚度。该技术适用于数据仪表盘、产品对比展示、游戏化界面等场景,但需注意避免影响可读性和无障碍访问。性能优化策略包括适度使用变换、利用will-change属性、简化动画和响应
- 文章 · 前端 | 4天前 | 371浏览 收藏
-
- JS数组entries方法详解及使用教程
- entries()方法返回一个迭代器对象,用于遍历数组的索引和值组成的键值对,1.调用arr.entries()返回迭代器而非数组,需通过for...of或next()方法访问;2.每次next()调用返回包含value(键值对)和done(是否结束)属性的对象;3.实际应用包括同时获取索引和值(如生成带索引类名的HTML)、简化数据处理逻辑及与其他迭代方法组合使用;4.相比for...in循环,entries()仅遍历数组元素而不包括自定义或继承属性,避免意外输出,更安全可靠。
- 文章 · 前端 | 6天前 | 370浏览 收藏
-
- HTML自定义组件如何提升可访问性?
- 为HTML自定义组件添加可访问性的核心在于模拟原生HTML语义行为并正确使用WAI-ARIA规范。1.语义化是基础,应通过role属性映射自定义组件为原生元素(如role="button"、role="menu"),并确保其具备相应交互行为;2.键盘导航至关重要,需合理使用tabindex控制焦点顺序,并监听keydown事件处理Enter、Space、方向键等操作;3.焦点管理需主动控制,如模态框打开时将焦点移至内部首个可交互元素,并实现“焦点陷阱”防止焦点逸出;4.视觉焦点指示器不可缺失,若移除默认o
- 文章 · 前端 | 6天前 | 370浏览 收藏
查看更多
课程推荐
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 511次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 498次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 484次学习
-
- Golang深入理解GPM模型
- Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
- 474次学习
查看更多
AI推荐
-
- 千音漫语
- 千音漫语,北京熠声科技倾力打造的智能声音创作助手,提供AI配音、音视频翻译、语音识别、声音克隆等强大功能,助力有声书制作、视频创作、教育培训等领域,官网:https://qianyin123.com
- 151次使用
-
- MiniWork
- MiniWork是一款智能高效的AI工具平台,专为提升工作与学习效率而设计。整合文本处理、图像生成、营销策划及运营管理等多元AI工具,提供精准智能解决方案,让复杂工作简单高效。
- 143次使用
-
- NoCode
- NoCode (nocode.cn)是领先的无代码开发平台,通过拖放、AI对话等简单操作,助您快速创建各类应用、网站与管理系统。无需编程知识,轻松实现个人生活、商业经营、企业管理多场景需求,大幅降低开发门槛,高效低成本。
- 157次使用
-
- 达医智影
- 达医智影,阿里巴巴达摩院医疗AI创新力作。全球率先利用平扫CT实现“一扫多筛”,仅一次CT扫描即可高效识别多种癌症、急症及慢病,为疾病早期发现提供智能、精准的AI影像早筛解决方案。
- 150次使用
-
- 智慧芽Eureka
- 智慧芽Eureka,专为技术创新打造的AI Agent平台。深度理解专利、研发、生物医药、材料、科创等复杂场景,通过专家级AI Agent精准执行任务,智能化工作流解放70%生产力,让您专注核心创新。
- 159次使用