-
IndexedDB是浏览器内存储结构化数据的低层API,支持索引、事务和异步操作,可存储对象、Blob等复杂类型,结合ServiceWorker实现离线优先应用,通过创建索引优化查询性能,保障数据一致性与高效访问。
-
答案:JavaScript代码审查中通过静态检测可发现XSS、不安全依赖、硬编码敏感信息等漏洞,结合ESLint、SonarJS、Retire.js等工具与人工审查,能有效识别风险并提升安全性。
-
制作HTML5网页应用需五步:一、用语义化标签搭建标准结构;二、用Flexbox/Grid和媒体查询实现响应式CSS;三、集成地理定位、localStorage等原生API增强交互;四、用ES6模块化组织JavaScript逻辑;五、通过polyfill、懒加载、GPU加速和缓存策略优化兼容性与性能。
-
JavaScript深拷贝无万能方案:structuredClone()支持多数内置类型且处理循环引用,但不支持function等;手写需防null、数组遍历、循环引用等陷阱;LodashcloneDeep覆盖广但有体积和兼容性考量;JSON方法仅适用于纯数据对象。
-
float导致后续元素重叠是因为浮动元素脱离文档流使父容器高度塌陷;清除方法首选display:flow-root(现代标准),次选overflow:hidden(兼容性好),老旧项目可用伪元素clearfix。
-
答案:通过flex属性组合实现固定与弹性宽度布局,如侧边栏固定、内容区自适应。具体为设置flex:00宽度值保持固定,flex:1使元素占据剩余空间,结合min-width:0防止内容溢出,适用于多组件响应式排列。
-
移动端适配中,JavaScript通过动态设置rem根字体、处理高清屏1px边框、响应式事件兼容等方式辅助实现自适应布局。首先根据设计稿宽度与设备实际宽度计算根字体大小,使页面等比缩放;结合viewportmeta确保视口正确;利用devicePixelRatio判断dpr,通过伪元素或类名实现高清屏细边框;针对移动设备绑定touch事件以消除点击延迟,并封装手势识别提升交互体验。最终与CSS的flex、mediaquery协同构建完整适配方案。
-
推荐使用字符循环+steps()方案:.loading-text::after设content为"."并用@keyframes在".","..","...",""间切换,配合steps(4,end)实现精准跳动,兼容Chrome/Firefox/Edge,视觉干净节奏可控。
-
JavaScript事件是浏览器对用户行为或状态变化的信号通知机制,本质是生成Event对象并按规则分发给监听器,由回调函数执行逻辑。
-
ESLint是主流JavaScript代码检测工具,支持自定义规则和插件,可检测语法错误与代码异味;配合Prettier统一格式,JSHint适合小型项目,StandardJS提供零配置方案;通过npxeslint--init初始化并集成到package.json脚本,结合编辑器插件实现实时提示;在CI/CD中引入检查流程,利用husky与lint-staged在提交时校验,确保代码规范,提升质量与协作效率。
-
掌握CSS定位关键在于理解四种模式的行为逻辑:static不脱离文档流;relative占位且偏移基于自身;absolute脱离流并参照最近已定位祖先;fixed脱离流且相对视口固定;sticky是两者的结合体。
-
required仅校验非空,pattern才校验格式;pattern需配合text类type,值为无前后斜杠的正则,浏览器自动添加^$,反斜杠需双写,Unicode需用汉字范围或JS处理,空值校验用|^$分支,提示靠title属性。
-
HTML5拖拽上传需前端JavaScript加密(如WebCryptoAPI的AES-GCM),密钥须动态派生或安全下发,加密在ArrayBuffer读取后、上传前完成;服务端严格解密验证,全程强制HTTPS。
-
绝对定位元素常导致父元素高度塌陷,因其脱离文档流使父元素无法感知其尺寸,仅依赖其他非定位子元素计算高度,故父容器可能退化为0。
-
HTML5中文字不换行可采用五种方法:一、white-space属性控制空白处理;二、word-break强制断词;三、overflow-wrap智能换行;四、<br>手动换行;五、结合width与text-align规范块级换行。