-
JS插件未加载成功的首要原因是浏览器未成功获取JS文件,需通过Network面板检查状态码是否为404/403,并验证路径、服务器部署、CDN缓存、大小写及Content-Type等。
-
在HTML5中,灰色可通过十六进制、RGB、颜色关键字和HSL等方式设置。1.十六进制通过#RRGGBB表示,如#808080为中灰;2.RGB三值相等时为灰色,如rgb(128,128,128);3.颜色关键字如gray、silver可直接使用;4.HSL通过饱和度0%生成灰色,亮度控制明暗,如hsl(0,0%,50%)为中灰。
-
vertical-align对数字滚动无效,因其仅作用于行内元素或表格单元格,而数字滚动依赖transform:translateY()精确控制位移,与行高对齐逻辑无关;真正关键的是单行实测高度与transform像素值的严格匹配。
-
JavaScript控制音视频需遵循浏览器策略:play()须由用户手势触发,autoplay仅静音时有效;volume需在loadedmetadata后设置,muted可随时设;关键状态用playing而非play判断;跨域需服务端配CORS或设crossorigin属性。
-
事件委托通过事件冒泡将监听器绑定到父元素,100个按钮只需1个监听器,减少内存占用;动态插入的元素无需重新绑定,简化事件管理;避免循环绑定提升初始化性能,适用于大量动态元素场景。
-
表单必须用<form>包裹才能触发提交,action和method属性不可少,input需有name且按钮用type="submit",autocomplete要正确设置,JS校验不可替代后端验证,应禁用重复提交并统一处理错误提示。
-
JavaScript管道操作符(|>)是Stage3提案语法糖,用于线性表达函数组合,如data|>transformA|>transformB等价于嵌套调用,提升可读性、明确数据流向、便于增删步骤,目前需Babel转译,尚未被浏览器原生支持。
-
最简单有效的软降分辨率方式是直接缩放<canvas>的CSS宽高而不改其width/height属性,并关闭imageSmoothingEnabled。
-
hover旋转突兀因缺少过渡动画,须在默认状态设transition:transform0.3s–0.5sease等,仅用transform属性,避免重排,防止动画堆叠。
-
ASP生成的HTML5页面在微信内置浏览器中需注意X5内核兼容性问题:必须显式声明DOCTYPE和UTF-8编码,禁用不支持的HTML5特性,规范资源路径与缓存头,并确保HTML结构一次性输出、禁止中途Flush。
-
white-space:nowrap仍换行是因为它不控制长单词或URL断行,浏览器会在/、-、.等处按默认规则折行;需配合overflow:hidden或text-overflow:ellipsis才能彻底禁断。
-
JavaScript响应式设计核心是补足CSS媒体查询边界,需用resize事件(须节流)或matchMedia(更精准断点判断),结合CSS自定义属性协同,并注意移动端visualViewport等特殊处理。
-
JavaScript是基于原型的语言,因其不依赖类而通过对象间委托关系实现复用与继承,该关系由prototype、__proto__及原型链终止于null共同构建。
-
原生HTML+CSS+JS可实现轻量模态框:用position:fixed容器、z-index分层遮罩与内容、display/visibility控制显隐;需监听Escape键和遮罩点击(e.target===e.currentTarget)、禁用背景滚动、焦点管理(自动聚焦首个可交互元素、Tab循环、关闭后恢复触发源焦点)、支持innerHTML动态内容(注意XSS)、aria-modal="true"提升可访问性。
-
闭包能保留值是因为函数会记住其创建时的词法作用域,即使外部函数已执行完毕,内部函数仍可通过闭包访问并保持对当时变量的引用。1.在异步操作中,由于JavaScript是单线程并依赖事件循环,回调函数往往在外部变量已变化后才执行,导致访问到的是最新值而非预期值;2.使用闭包可通过IIFE为每个回调创建独立作用域,从而“锁定”变量值;3.ES6的let在for循环中每次迭代创建新的绑定,相当于自动实现闭包隔离,使异步回调能正确访问各自循环变量;4.闭包广泛应用于事件处理、模块封装、柯里化等场景,但也需警惕内存泄