-
Promise是JavaScript处理异步操作的标准对象,代表未来完成或失败的操作,具有pending、fulfilled、rejected三种不可逆状态;通过newPromise()创建,支持链式调用(.then/.catch)、静态方法(all/race/resolve/reject)及async/await语法。
-
浮动与定位结合使用时,应通过BFC防止塌陷,利用relative建立定位上下文,在保证兼容性的同时优化性能,避免重排,并逐步过渡到Flexbox和Grid布局。
-
entries()方法返回一个迭代器对象,用于遍历数组的索引和值组成的键值对,1.调用arr.entries()返回迭代器而非数组,需通过for...of或next()方法访问;2.每次next()调用返回包含value(键值对)和done(是否结束)属性的对象;3.实际应用包括同时获取索引和值(如生成带索引类名的HTML)、简化数据处理逻辑及与其他迭代方法组合使用;4.相比for...in循环,entries()仅遍历数组元素而不包括自定义或继承属性,避免意外输出,更安全可靠。
-
需用JavaScript实现HTML表格动态求和,包含五种方案:一、事件监听实时计算;二、数据属性结构化求和;三、contenteditable单元格配合keyup;四、Array.from与reduce函数式写法;五、多列独立求和模块化封装。
-
要实现稳定的上下结构Flex布局,需设flex-direction:column、父容器有明确高度(如100vh)、子元素合理分配flex比例,并配合justify-content和align-items控制对齐。
-
使用相对单位(rem、em、%、vw/vh)替代px可实现响应式间距;通过clamp或基准换算设根字号,统一用rem定义间距;vw/vh适配视口,em保持嵌套比例;CSS变量提升可维护性。
-
JavaScript中JSON解析核心是JSON.parse()和JSON.stringify(),前者将JSON字符串转为对象,后者将对象序列化为JSON字符串,二者因轻量、通用、安全及浏览器原生支持成为数据交换事实标准。
-
Fetch是JavaScript发起网络请求的现代标准,基于Promise、语法简洁,但需手动处理HTTP错误和Cookie;它不是Ajax的替代品,而是其思想在新标准下的升级实现。
-
HTML5盒子模型调试需掌握五种技巧:一、用box-sizing:border-box统一盒模型;二、margin负值配合绝对定位实现居中;三、padding-top百分比维持响应式宽高比;四、border与outline协同消除边框间隙;五、box-shadowinset模拟内边距。
-
应根据需求选择::nth-last-child(2)按父元素末尾位置匹配倒数第二子元素(需类型一致),而:nth-last-of-type(2)先筛选同类型元素再倒数取第二,不受其他标签干扰。
-
ShadowDOM通过隔离DOM子树实现样式封装,内部样式不泄露、外部样式不穿透;推荐内联<style>,慎用!important和全局选择器,善用:host、::slotted和CSS自定义属性实现可控定制。
-
首先使用feh实现Linux桌面图片轮播,安装后指定图片目录并设置每5秒切换;再通过HTML+CSS创建全屏网页展示,利用JavaScript定时更换背景图;最后将两者结合,feh负责底层轮播,浏览器打开本地服务器上的HTML页面作为透明叠加层显示信息,实现动态桌面秀。
-
内联样式优先级最高,因其权值为1000且直接绑定DOM元素;误用场景包括替代reset.css、字符串拼接style、滥用!important;适用场景为动态值、服务端微调、DOM直操作;可被!important(外部)、CSS变量、ShadowDOM例外覆盖。
-
JavaScript通过getUserMedia采集音视频流,结合RTCPeerConnection实现WebRTC点对点通信,利用WebAudioAPI处理音频,通过RTCDataChannel传输任意数据,构建实时音视频应用。
-
动态创建DOM元素的核心是使用document.createElement()创建元素,再通过appendChild()或insertBefore()将其添加到DOM树中;2.设置元素的文本内容可用textContent或innerHTML(需注意XSS风险),属性可通过element.setAttribute()或直接赋值,样式通过element.style设置;3.常见挑战包括频繁DOM操作导致的性能问题、事件监听器未移除引发的内存泄漏、使用innerHTML带来的XSS风险、复杂结构导致的代码可维护