-
id选择器失效通常因id重复、语法错误、样式被覆盖或元素未正确渲染。首先确保id唯一且CSS以#开头;检查是否存在相同或更高优先级规则(如!important或内联样式)导致覆盖,可通过开发者工具查看实际应用的样式;确认元素非动态生成且DOM已加载完成;注意HTML与CSS中id拼写一致。逐项排查即可定位问题。
-
函数声明会被提升到作用域顶部,可提前调用;函数表达式仅变量声明提升(var)或不提升(let/const),提前调用报错。实操中需提前调用选声明,控初始化顺序选const/箭头函数。
-
LocalStorage是浏览器提供的持久化存储方案,支持以键值对形式保存最多约5MB的字符串数据,具备页面关闭后数据不丢失、遵循同源策略、提供setItem、getItem、removeItem和clear等简单API的特点,可通过JSON.stringify和JSON.parse处理对象类型,适用于存储用户偏好、表单草稿等非敏感信息,但需防范XSS攻击、手动管理过期逻辑,并注意无痕模式下的限制。
-
生成器是用function*声明的特殊函数,调用返回Generator实例而非直接执行;yield为暂停点,next()触发执行并返回{value,done}对象;它适合分步控制、协程模拟等场景,但不可重置。
-
HTML5已废弃frameset/frame框架机制,现代“框架布局”实为语义化标签(header/nav/main/aside/footer)结合CSSGrid/Flexbox实现;Grid通过grid-template-areas等属性直观划分区域,iframe仅适用于嵌入第三方独立文档且需注意安全与性能问题。
-
根本原因是相同选择器、相同权重、不同来源的CSS规则同时参与层叠计算。应二选一统一来源,或通过@layer、作用域隔离、属性选择器等降低冲突风险。
-
后端路由在URL匹配路径时即被触发,无论请求来自浏览器直接导航还是前端fetch;但二者目的、行为和适用场景截然不同:导航用于页面跳转与HTML渲染,fetch用于程序化数据交互与动态UI更新。
-
JavaScript中类的静态方法与属性直接定义在类本身上,不依赖实例即可调用;静态方法用static声明、通过类名调用、不可访问this及实例成员,常用于工具函数或工厂方法;静态属性同样用static声明,为类级别共享值,通过类名访问,适合存放版本号、默认配置等。
-
马赛克还原本质是不可逆的视觉欺骗,只能通过Canvas像素操作(getImageData/putImageData)对实时绘制的马赛克块进行插值或渐变过渡以削弱色块感,无法恢复原始像素。
-
对象字面量{}创建最常用安全,适合静态结构;键名含特殊字符须加引号;点号访问合法标识符,方括号支持动态键;方法中this指向调用者,易丢失需绑定。
-
前端生成PDF主要依赖jsPDF和html2canvas库的组合。1.使用jsPDF可编程创建PDF,适合结构化文档,能精确控制文本、图形、图片等元素;2.结合html2canvas可将HTML内容转为Canvas图片,再由jsPDF嵌入PDF,实现复杂样式“所见即所得”导出,但文本不可选。该方案减轻服务器负担、提升用户体验、支持离线操作,适用于报告下载、证书生成、打印预览等场景。需注意性能优化(如简化DOM、压缩图片、合理设置scale)、字体嵌入以保证跨设备一致性,以及处理跨域图片和CSS兼容性问题,
-
JavaScript的try...catch仅捕获同步执行异常,不处理异步错误、语法错误、资源加载失败及Promise拒绝;需在调用处包裹且await异步操作,catch参数应命名避免覆盖Error,finally中避免return或throw。
-
HTML转PDF时<ahref>链接失效的主因是PDF生成器未启用可点击链接支持或HTML链接格式不规范;wkhtmltopdf需加--enable-local-file-access和--allow参数,浏览器打印要求链接为完整URL,pdfkit须透传对应参数,且PDF查看器权限也影响链接表现。
-
Grid是三栏自适应首选方案,用grid-template-columns可设定宽+自适应布局(如200px1fr300px)或等比伸缩(1fr2fr1fr),配合媒体查询实现响应式单列;gap控制间距更可靠,避免margin塌陷。
-
HTML5不提供验证码加密校验功能,仅负责表单结构和基础交互;加密校验需前后端协作:前端用HTML5+JS实现输入控制与防呆,后端完成生成、存储、比对及安全校验。