-
CSS定位是否脱离标准流取决于position取值:static和relative不脱离,absolute、fixed和sticky(触发后)脱离。脱离流元素不占空间,影响后续布局。
-
工厂函数直接调用返回对象,无需new,支持私有属性和闭包;构造函数需用new调用,依赖this,共享原型方法,适合类型识别和性能优化。
-
正确设置box-sizing为border-box可精准控制Grid子元素尺寸。Grid中每个子项遵循标准盒模型,content-box下width仅含内容区,padding和border会额外增加总尺寸,易导致溢出;设为border-box后width包含padding和border,配合gap管理间距、min-width限制及overflow处理,能有效避免布局异常,结合grid-template与gap属性实现响应式网格。
-
自定义事件是开发者手动触发的DOM事件,用于组件间解耦通信;通过CustomEvent构造函数创建并携带data,用dispatchEvent触发,addEventListener监听,需注意冒泡、取消及兼容性。
-
Alienware电脑HTML5性能问题主因是浏览器渲染路径错误、JS阻塞主线程及Canvas/WebGL未启用硬件加速;应改用requestAnimationFrame、优化DOM操作、配置Canvas上下文、启用WebGL与视频硬件解码。
-
ES6的class和extends本质是原型链语法糖,通过设置B.prototype.__proto__指向A.prototype实现方法继承,B.__proto__指向A实现静态方法继承;子类constructor中必须先调用super()初始化this;静态成员继承依赖B.__proto__===A链,而非prototype链;兼容ES5需同时补全两条原型链。
-
HTML5中<b>和<i>未被废弃,但语义已变:<b>表无强调的关键词(如品牌名),<i>表术语或外文词;纯样式应使用CSS;<font>、<center>等表现型标签已被移除。
-
Promise是为解决异步流程失控而设计的状态容器,封装pending/fulfilled/rejected三种不可逆状态,通过then/catch实现线性链式调用与统一错误处理。
-
原生CSS写得慢是因缺乏变量、嵌套、混合和条件复用能力,导致重复书写与全局搜索;Sass提供成熟变量、嵌套和mixin机制,PostCSS通过插件支持现代语法,配合sourcemap实现精准调试。
-
JavaScript中生成二维数组的常用方法有:1.嵌套循环,通过双重for循环逐行构建,逻辑清晰且避免引用陷阱;2.使用Array.from结合map,以函数式编程风格简洁地创建新数组实例,每行独立;3.使用Array().fill().map(),利用map回调确保每次生成新数组,避免共享引用。避免引用陷阱的关键是确保每一行都是独立对象,不可直接使用Array(rows).fill(Array(cols).fill(value)),否则所有行将共享同一引用,导致修改一处影响全局。二维数组广泛应用于游戏
-
答案:设计一个灵活的JavaScript表单验证库需支持配置化规则、内置常用校验方法、允许自定义规则扩展、支持异步验证并返回结构化结果。通过解耦验证逻辑与DOM,提供声明式接口,实现规则可插拔与框架无关的通用性,核心是配置驱动与清晰的API设计。
-
Grid布局对齐关键在于用minmax()约束轨道尺寸、gap统一间距、place-items等对齐属性精调内容。例如grid-template-columns:repeat(3,minmax(200px,1fr))),gap:16px,place-items:center。
-
JavaScript通过操作<audio><video>元素DOM接口控制音视频,核心是属性(paused、currentTime等)、方法(play()返回Promise)和事件(timeupdate、ended等),需注意加载状态与用户手势限制。
-
float:left配合margin无法可靠实现多行图片自动换行,因浮动导致父容器塌陷、换行仅看当前行剩余宽度、margin加剧错位与对齐问题;推荐用flex或inline-block替代。
-
JavaScript生成二维码推荐使用qrcode.js(轻量快速)或qr-code-styling(支持Logo、颜色、边框等深度定制),避免手动实现复杂编码逻辑。