-
npm是Node.js默认包管理工具,用于安装、更新、卸载依赖;初始化用npminit-y生成package.json;依赖分dependencies(运行必需)和devDependencies(开发专用);常用命令包括npminstall、npmupdate、npmuninstall等。
-
原生<inputtype="time">能用但限制多:兼容性差(Safari旧版退化为文本框)、不支持分钟步进(如15分钟)、无清空按钮、无法隐藏秒;推荐flatpickr(轻量、支持minuteIncrement/清空/格式控制)或手写select方案。
-
WebAssembly加密模块必须导出纯函数接口以确保确定性,避免GC干扰和内存拷贝,正确管理密钥生命周期并实现WebCrypto兜底。
-
navigator.storage.estimate()是唯一可靠方式,返回usage(已用字节数)和quota(系统建议配额,单位字节),但quota可能为undefined,且仅在HTTPS或localhost安全上下文中可用。
-
index.html无法真正加密,本质是可逆混淆;真正防护需服务端控制内容分发与权限校验,并对外链资源做混淆、路径鉴权及敏感信息剥离。
-
前端路由靠history.pushState或hashchange实现无刷新切换视图,禁用window.location.href是为保JS状态;pushState需同源相对路径与服务端配合返回统一HTML,hashchange兼容好但SEO差;核心难点是URL、历史、组件、滚动、表单等多状态同步。
-
background-attachment:fixed失效主因是body未占满视口,需同时设置html,body{height:100%;margin:0;padding:0;}且background-attachment必须写在body上。
-
Lighthouse评分卡在80分上不去主因是HTML性能瓶颈:DOM节点过多、内联脚本阻塞渲染、document.write残留、服务端模板冗余空格/注释;需控制DOM节点<1500、优化内联资源位置与体积、正确使用preload及响应头配置。
-
align-items只作用于Flex容器的直接子元素(flexitem),控制其在交叉轴上的对齐方式;默认flex-row时交叉轴为垂直方向,flex-col时为水平方向,需确保父容器为flex且具有明确高度。
-
Promise是JavaScript中处理异步操作的对象,代表未来完成或失败的结果;具有pending、fulfilled、rejected三种不可逆状态;通过newPromise创建,支持链式调用、错误捕获及Promise.all等静态方法。
-
HTMLSitemap应用语义化HTML结构(如h2、ul、a)组织内容,命名随意但需可访问、无死链、聚焦高价值页面;XML与HTMLSitemap可共存,用途不同,不可混用;HTML版不提交搜索引擎,仅提升用户体验。
-
基于CSSGrid的多行多列导航栏通过grid-template-areas划分区域,结合grid-area分配元素位置,实现结构清晰、响应式强的布局,支持多区域精准定位与移动端垂直堆叠适配。
-
浮动布局易导致父容器高度塌陷和对齐困难,可通过text-align配合inline-block或伪元素清除浮动实现居中与对齐,但结构复杂且局限;现代方案推荐使用flex布局,通过display:flex和justify-content等属性轻松实现精准对齐与响应式分布,代码简洁且功能强大,建议优先采用flex替代float用于整体布局。
-
0fr是合法且更优的隐藏列方式,因其语义清晰、保留轨道结构、兼容动画和响应式切换;但需配套min-width:0、overflow:hidden及子元素宽度约束才能真正生效。
-
HTML无原生筛选弹窗,需HTML+CSS+JS协同实现;<dialog>提供语义化基础但需JS控制显隐与兼容处理;筛选结构应语义化分组、包裹form便于数据提取与重置;弹窗仅负责返回过滤对象,由调用方决定请求逻辑;移动端需防点透、管焦点、适配滚动与输入事件。