-
new操作符执行四步:创建空对象、绑定Constructor.prototype到其[[Prototype]]、以该对象为this调用构造函数、按返回值类型决定最终返回结果。
-
清除浮动最稳妥方案是给父容器加.clearfix类,需确保::after伪元素正确生成(content:""必写)、display:table比block更稳、且必须作用于直接包裹浮动子项的父容器;现代项目可优先用display:flow-root或flex/grid布局替代。
-
本文详解JSON.parse()在Node.js中常见的误用场景,重点纠正赋值运算符误写为等号链导致的语法错误,并提供健壮的JSON文件读取与解析实践方案。
-
HTML5代码需保存为.html/.htm文件才能正常运行;localStorage可持久化保存字符串数据,sessionStorage仅限当前标签页;Blob可将动态HTML导出为本地文件。
-
preventDefault可阻止链接跳转、表单提交等默认行为,需在事件处理函数首行调用并确保事件对象正确传递;不可靠的href="javascript:void(0)"应被JavaScript事件绑定替代;注意勿在异步中调用、勿混用returnfalse,且需兼顾可访问性与实际需求。
-
浮动元素错位因脱离文档流致父容器无法感知真实高度,矮元素右侧留空使后续元素上浮;硬设height易致溢出或留白;推荐用Grid替代,兼容性差时可退至Flex或用BFC清除浮动。
-
novalidate是仅作用于form标签的布尔属性,存在即禁用全部原生验证;formnovalidate为提交按钮提供单次豁免,但Safari兼容性差;禁用后:valid/:invalid失效,且不替代后端校验。
-
BEM的block__element--modifier结构不可乱改,因其核心是保障样式作用域解耦与DOM重构低风险:双下划线标识强归属,短横线修饰符必须依附主体,违反则破坏语义层级、导致冲突或失效。
-
html-minifier默认关闭CSS压缩,仅设minifyCSS:true仅启用clean-csslevel=1基础压缩,无法处理媒体查询折叠、@import忽略、URL截断等问题;必须显式传入{level:2,inline:['all'],rebase:false}配置对象才能安全启用完整CSS压缩能力。
-
<metaname="robots">标签仅是建议,生效需页面被成功抓取;若robots.txt屏蔽路径、返回4xx错误、content值大小写/空格/标点错误、或JS动态插入,均导致失效;X-Robots-Tag更可靠且优先级更高。
-
ChromeDevTools中强制触发:hover和:active状态,应右键Elements面板元素→“Forcestate”→勾选对应伪类;该方式基于渲染层介入,能真实复现浏览器状态解析逻辑,比手动加CSS规则更可靠,且不改变页面实际行为。
-
pandoc可直接将UTF-8编码HTML转PDF/DOCX/Markdown,但PDF需额外安装tinytex,复杂CSS布局建议用浏览器打印导出,DOCX样式丢失主因是语义映射与字体兼容性问题。
-
Jest是专为JavaScript(尤其是React)设计的开箱即用测试运行器+断言库+模拟系统;默认识别__tests__/、.test.js或.spec.js文件;需配置testEnvironment、setupFilesAfterEnv等适配工程需求。
-
BEM能防CSS类名冲突,因其通过块-元素-修饰符三段式命名(如.header__title--large)实现天然隔离;需配合ESLint、Stylelint等工具强制约束,禁用后代选择器与ID/标签选择器,并匹配严格正则;与CSS-in-JS、ShadowDOM不冲突,可共存互补;超小项目或动态样式场景则不宜硬套。
-
:valid用于选中值合法的表单元素,需配合required、type(如email)或pattern使用;无约束时无效,空required初始为:invalid,非required空字段处于未验证状态。