-
JavaScript是浏览器中唯一能直接操作DOM、响应交互、发起网络请求及控制硬件的语言,Node.js使其可开发服务器、桌面应用等;它与Java无关,核心特征为动态类型、基于原型、单线程事件驱动、函数是一等公民。
-
提升HTML5性能需减少加载时间与请求数,通过压缩合并文件、使用雪碧图、Gzip、优化图片格式与尺寸、响应式图片、预加载关键资源,并实施懒加载(原生或IntersectionObserver)、占位符、视频懒加载,结合缓存策略、异步JS加载、代码分割及ServiceWorker,系统优化可显著提升首屏速度与用户体验。
-
用background-position配合线性渐变实现流光边框最简洁高效;核心是伪元素承载渐变背景,通过background-size扩展渐变尺寸、background-position位移驱动动画,配合infinite循环与linear缓动达成平滑流光效果。
-
poster属性仅支持同源静态图片路径,不支持网络地址、空字符串或DataURL;本地file://协议下失效;需确保HTTP200响应及正确MIME类型(image/jpeg或image/png),推荐使用相对路径且尺寸匹配视频分辨率。
-
<p>默认box-sizing为content-box,width/height仅含内容区,padding/border会额外增加尺寸;改用border-box后width/height表示整体占位尺寸(content+padding+border),推荐全局设置*{box-sizing:border-box;}。</p>
-
可以,动态创建<link>标签能加载CSS;需设rel="stylesheet"和有效href,监听onload/onerror,但加载完成不等于样式立即生效,多文件并发加载顺序不保证。
-
box-shadow中直接使用rgba()颜色值(如rgba(0,0,0,0.3))即可控制阴影透明度,无需wrapper或opacity;alpha范围为0–1,语法错误、父级opacity、过小模糊值、CSS优先级或Safariinset兼容性可能导致失效;多层阴影用逗号分隔,filter:drop-shadow()可避免transform缩放影响但不支持inset。
-
HTMLMediaElement提供音频视频基础控制,需监听loadedmetadata后操作;play()返回Promise必须捕获错误;currentTime跳转应等待seeked事件;volume与muted独立且移动端限制多;playing事件才是播放真正开始的可靠信号。
-
HTML5结合WebGL、WebXR、A-Frame等技术可实现轻量级网页VR体验:一、用Three.js构建3D场景;二、通过WebXRAPI支持真VR模式;三、用A-Frame声明式搭建;四、优化移动端性能;五、嵌入360°全景媒体。
-
window是JavaScript与浏览器API交互的主入口,挂载跳转、弹窗、定时器、存储等功能;需注意其在iframe或严格模式下应显式使用,并避免滥用alert/confirm/prompt、定时器未清理及localStorage存敏感数据等问题。
-
ES6class是构造函数语法糖,受TDZ限制不可提升;constructor中return对象会覆盖实例;继承内置类须调用super;错误提示本质是原型机制问题。
-
下拉刷新的核心在于触摸事件监听与UI反馈,通过touchstart、touchmove、touchend实现手势追踪,在scrollTop为0时记录下拉距离,超过阈值则触发数据更新,结合transform位移与transition回弹动画提供流畅交互,同时需处理滚动冲突、避免频繁DOM操作,并利用requestAnimationFrame优化性能,确保跨设备兼容性。
-
图片加载顺序由HTML解析顺序和loading属性共同决定,真正可控的是DOM插入时机与loading属性,其他如CSS背景、srcset或preload均无法改变相对加载顺序。
-
表格用于展示结构化数据,如成绩表或价格清单,具有明确语义;DIV布局结合CSS适用于页面整体排版,支持响应式设计、易于维护。应遵循“数据用表格,布局用DIV”原则,确保代码清晰、符合Web标准。
-
Element.attributes返回NamedNodeMap,是XML节点自身属性的集合;它支持索引访问和getNamedItem(),但非数组、不保证顺序,且不包含命名空间声明的语义解析。