-
Promise.then是微任务。JavaScript事件循环中,宏任务(如setTimeout)和微任务(如Promise.then)的执行顺序为:当前宏任务执行完后,事件循环会清空所有微任务,再执行下一个宏任务。这意味着Promise.then的回调会比setTimeout更快执行。例如,同步代码执行完后,Promise.then的回调会立即执行,优先于setTimeout的回调。Promise链式调用时,每个.then回调都会作为微任务依次加入队列,确保它们连续执行而不被宏任务打断,从而保持异步操作
-
<footer>标签语义上表示父容器的页脚内容,不限于页面底部;可嵌套在<article><section>等元素内,多个<footer>合法且互不影响;其语义与视觉位置无关,应通过CSS布局而非HTML顺序控制显示位置。
-
HTML5中设置背景图像有五种方法:一、body内联style;二、内部CSS;三、外部CSS文件;四、CSS渐变叠加;五、响应式适配,均需注意路径、格式、兼容性及可读性。
-
WebSocket是独立于HTTP的TCP全双工协议,需用ws://或wss://初始化;onmessage中data可能是string或Blob,须判型解析;close/error事件不可靠,须结合心跳、readyState和send异常判断连接状态。
-
JavaScript依赖锁定的核心是锁文件(package-lock.json或yarn.lock),它精确记录依赖的确切版本、下载地址和完整性哈希;package.json中的语义化版本规则(如^、~)仅定义可更新范围,真正确保环境一致需提交锁文件并使用npmci。
-
HTML页面排版布局有五种方法:一、Flexbox用于一维对齐;二、Grid实现二维行列控制;三、浮动配合清除适用于旧项目或文本环绕;四、定位实现精确坐标控制;五、display属性调节元素显示模式。
-
JavaScript可通过FileAPI读取用户本地文件实现前端预处理与上传:通过<inputtype="file">获取FileList,用FileReader或URL.createObjectURL预览校验,FormData配合fetch上传,大文件可分片处理。
-
答案:文章介绍如何用原生JavaScript开发轻量级日期选择插件,涵盖功能需求、DOM结构搭建、日历渲染、事件交互及定位管理。1.明确功能:点击输入框显示日历,支持年月切换与日期选择;2.初始化插件:通过构造函数绑定input元素并创建日历容器;3.构建UI:动态生成包含头部控制和日期网格的弹层;4.渲染逻辑:计算每月起始weekday并填充当月与相邻月份日期;5.交互处理:实现选中填值、自动隐藏、外部点击关闭及定位适配;6.可扩展性强,便于后续添加格式化、多语言等特性。
-
使用Flexbox的flex-wrap实现移动端自动换行,通过设置容器display:flex和flex-wrap:wrap,配合子项宽度控制布局密度,可高效完成响应式排列。
-
in操作符用于判断属性是否存在于对象或其原型链中。1.它检查属性名是否存在,不关心值是什么;2.返回布尔值,存在则为true,否则false;3.同时检查自有属性和继承属性;4.与hasOwnProperty不同,后者仅检查自有属性;5.in适用于判断方法是否可用,无论来源;6.属性值为null或undefined不影响in的判断结果。
-
要实现卡片翻转效果,需结合CSS的perspective、transform-style和backface-visibility属性。1.构建包含正反面的.card容器,设置perspective营造3D视觉;2..card-face共用绝对定位与隐藏背面,front初始rotateY(0deg),back为rotateY(180deg);3.通过@keyframes定义从0deg到180deg的rotateY动画,配合infinitealternate实现循环翻转;4.添加ease-in-out缓动、h
-
flex-grow按比例分配剩余空间,flex-shrink控制溢出时的收缩比例,二者结合实现弹性布局。
-
需结合HTML、CSS与JavaScript实现:一、CSS切换内容区块;二、平滑滚动与锚点高亮;三、技能进度条动态加载;四、响应式折叠菜单;五、可交互作品卡片轮播。
-
提示条应使用opacity与visibility组合实现淡入淡出,或transform与opacity组合实现滑入+淡入,避免使用top或display切换,以防止重排和动画失效。
-
防抖和节流是JavaScript中优化高频事件的两种手段。防抖通过延迟执行,确保事件停止触发一段时间后才执行函数,适用于搜索框输入等场景;节流则保证函数在固定时间间隔内最多执行一次,适用于滚动监听、动画更新等需规律执行的场景。两者核心区别在于:防抖强调最后一次触发有效,节流强调周期性执行。掌握它们可显著提升性能与用户体验。