-
JavaScript无原生宏系统,但可通过Babel插件、DefinePlugin等构建工具实现编译时代码替换,或用高阶函数、Proxy、模板字符串+eval模拟运行时宏行为,关键在于区分编译时与运行时需求,并兼顾代码可读性。
-
JSON.parse(JSON.stringify())不能用于生产环境,因其会丢失Date、RegExp、undefined、function、Symbol、BigInt等类型,并无法处理循环引用;仅限纯JSON安全结构的临时调试。
-
答案::only-child伪类选择器用于选中其父元素中唯一的子元素,无论类型如何,等价于:first-child:last-child;例如p:only-child会为唯一段落添加样式,而img:only-child可实现单图居中;与:only-of-type不同,后者仅要求同类型唯一,不需整体唯一。
-
全屏背景视频需设position:fixed+width:100vw;height:100vh+object-fit:cover;z-index失效因video创建独立堆叠上下文,应加isolation:isolate;移动端需muted、autoplay、playsinline三属性并存。
-
使用HTML5Doctype和CSS重置文件统一基础样式,通过视口标签与媒体查询实现响应式布局,采用Flexbox或Grid并处理IE兼容性,用Babel转译JS代码,结合Modernizr检测特性,利用BrowserStack等工具进行多浏览器测试,确保网页在不同环境中正常显示。
-
EventLoop通过宏任务与微任务协调异步执行,同步代码先运行,随后清空微任务队列再执行宏任务,如:console.log('1')、'4'同步输出,Promise.then入微任务队列输出'3',setTimeout入宏任务队列最后输出'2',形成1→4→3→2顺序;微任务优先级高于宏任务,process.nextTick在Node中优先于Promise。
-
最稳妥方案是伪元素+transform缩放:通过::after/::before创建边框并用scaleY(0.5)等缩放至1物理像素,配合transform-origin和pointer-events:none实现兼容性与交互友好。
-
左右结构对不齐主因是box-sizing、padding、border或浮动残留,应优先用Flex/Grid布局;Flex通过align-items控制对齐,Grid用align-items/justify-items精确调控;务必全局设box-sizing:border-box并用开发者工具排查真实尺寸差异。
-
HTML中需用 实现不换行且不合并的空格;普通空格或 会被浏览器合并,不可靠;等宽排版推荐monospace字体加letter-spacing;全角空格(\u3000)等隐形字符须用正则或插件识别替换。
-
br标签的核心用途是强制文本换行而不产生新段落,1.它适用于地址、诗歌等逻辑上属于同一块但需视觉分行的场景;2.应避免滥用br来模拟段落间距,应使用p标签或CSS的margin/padding实现结构清晰的布局;3.过度使用br会影响语义、可访问性及SEO,正确做法是用p标签分隔段落,用CSS控制间距,以确保页面结构合理且易于维护。
-
使用正则表达式可安全替换HTML内容,如将<h2>标题</h2>改为<h3>标题</h3>需用捕获组;替换<divclass="old">为<divclass="new">时保留原符号;复杂修改应分步进行并备份文件;多文件批量处理可用“在文件中查找”功能,支持正则与编码设置,确保结构不被破坏。
-
HTML中普通空格会被浏览器合并为一个,需用 显示多个连续空格;alt属性内普通空格无需特殊处理;按钮空隙应使用CSSpadding而非 ;避免使用中文全角空格(\u3000)。
-
首先通过navigator.mediaDevices.getUserMedia获取摄像头视频流并预览;接着利用Canvas对视频帧进行实时滤镜或像素处理,并通过captureStream生成新MediaStream;最后结合MediaRecorderAPI录制处理后的视频流,实现前端视频采集、加工与保存的完整流程。
-
首先检查HTML文件扩展名是否为.html并确保语法规范,然后确认HBuilder中已正确设置默认浏览器路径,接着通过右键菜单选择“在浏览器中打开”运行文件,同时确保项目路径不含中文或特殊字符,最后可尝试清除HBuilder缓存并重启程序解决问题。
-
::first-letter仅对块级元素生效,支持有限CSS属性,中文/标点开头时行为不一,兼容性差且易受text-transform等影响,推荐手动包裹首字以确保效果。