-
URLAPI是浏览器和Node.js(v10.0.0+)原生支持的标准URL解析工具,需传入绝对URL或配合base参数使用;其属性只读,query操作应通过URLSearchParams,修改路径或协议须新建实例,并注意对不可信输入做try/catch和协议校验。
-
JavaScript事件委托通过在父元素绑定监听器利用事件冒泡,由event.target识别目标子元素,适用于大量或动态子元素场景,提升性能并简化维护。
-
使用position:fixed可实现底部导航栏,通过bottom:0固定位置,配合z-index和box-shadow提升视觉层级,并用padding-bottom预留空间防止内容遮挡,适配移动设备时结合env(safe-area-inset-bottom)确保安全显示区域。
-
内部样式适合单页、一次性页面且CSS≤1KB的场景;外部样式更常用,因可缓存、易优化;@import会阻塞并行加载,应避免;选择依据是复用性与稳定性。
-
异步生成器通过“拉取”模式解决大文件处理中的内存溢出和背压问题,利用forawait...of按需读取数据块,避免一次性加载全部内容,提升稳定性和代码可读性。
-
用position:relative包裹下拉容器是因为absolute定位的子菜单需相对于最近的relative/absolute/fixed祖先定位,否则会脱离导航栏飘至视口左上角;ul.nav>li必须显式设relative,Flex布局不自动创建定位上下文。
-
通过为<inputtype="date">添加readonly属性,可跨浏览器(Chrome、Firefox、Edge、Safari)统一禁用手动输入,同时保留原生日期选择器按钮与键盘焦点支持,是兼容性最佳的解决方案。
-
优先引入WOFF2、WOFF、TTF、EOT多格式字体,按顺序声明@font-face;使用font-display:swap避免空白;配置CORS解决跨域;设置伪元素备用字符及SVG降级,确保兼容性与稳定性。
-
JS中无原生注解,但可通过JSDoc添加文档说明、Decorator实现运行时修饰。1.JSDoc用于描述类功能、作者、示例等,提升可读性;2.Decorator为实验性语法,需TypeScript支持,可修饰类行为;3.两者可结合使用,JSDoc专注文档,Decorator增强逻辑;4.注意兼容性与维护性,合理选择适用场景。
-
JavaScript是让网页交互动态化的编程语言,运行于浏览器和Node.js,可响应操作、更新内容、通信服务器、控制样式;零基础可从待办清单项目入手,用记事本+浏览器即可实践。
-
为什么padding-top百分比能锁住宽高比因为padding-top(以及padding-bottom)在块级元素中,其百分比值是相对于**父容器宽度**计算的,不是高度。这个特性被用来“骗”出固定比例的容器:先用padding-top撑开高度,再把内容绝对定位进去,就能让容器始终维持比如16:9、4:3这类比例。常见错误是直接给video标签设width:100%;height:auto;——这只能保证等比缩放,但无法约束父容器高度,导致周围布局塌陷或错位。必须用一个包裹容器(比如div.vi
-
JavaScript浏览器端不支持TCP/UDP编程,仅Node.js通过net和dgram模块提供异步事件驱动的原生网络能力,需注意Buffer处理、资源清理及浏览器限制。
-
轮播图滚动条源于overflow:auto/scroll设置,可通过::-webkit-scrollbar、scrollbar-width:none和-ms-overflow-style:none隐藏;更优方案是用overflow:hidden+transform+touch-action:pan-y替代原生滚动,避免滚动条与Safari弹性回弹问题。
-
最高效的JS数组去重方法是利用Set对象,因其底层基于哈希表,平均时间复杂度为O(N),性能最优;2.filter结合indexOf方法兼容性好但时间复杂度为O(N^2),适合小规模数组;3.reduce结合Map同样具有O(N)时间复杂度,灵活性高,适用于需要自定义去重逻辑或处理对象数组的场景;4.对于对象数组去重,需基于唯一标识属性(如id)或组合键使用filter加Set/Map,或利用Map覆盖机制保留最后出现的元素;5.Set、filter+indexOf和reduce+Map三种方法在现代Ja
-
使用video标签的poster属性可快速设置静态缩略图;2.通过FFmpeg或canvas截取视频帧生成动态封面;3.高级悬停预览可用雪碧图结合CSS和JavaScript实现,提升用户体验。