HTML面试题汇总
结构与语义:语义化标签、文档流、空元素。
通信与存储:本地存储、Web Worker、跨文档通信、表单enctype。
渲染与性能:渲染引擎原理、defer/async、性能优化。
安全:同源策略、XSS/CSRF、data-*属性。
一、广义的 HTML5 新增了哪些东西?
HTML5 不仅指新的 HTML 标记语言标准,更是一个技术集合,为 Web 开发带来了革命性变化。
1. 语义化标签 (Semantic Tags)
HTML5 引入了大量具有明确含义的标签,取代了过去到处都是<div>的局面,提高了代码的可读性、SEO 和无障碍访问性。
结构标签:<header>、<footer>、<nav>、<section>、<article>、<aside>、<main>
其他语义标签:<figure>(插图)、<figcaption>(插图标题)、<time>、<mark>(高亮)
2. 多媒体支持 (Multimedia)
在 HTML5 之前,播放视频或音频通常需要第三方插件(如 Flash)
<video>和<audio>:原生支持流媒体播放,支持controls、autoplay、loop等属性
<track>:为媒体文件添加字幕(WebVTT 格式)
3. 表单增强 (Forms 2.0)
大大简化了前端表单验证和交互逻辑
新的 Input 类型:email、url、number、range(滑块)、date、time、color、search、tel
新属性:placeholder(占位符)、required(必填)、autofocus(自动聚焦)、multiple(多选)、pattern(正则匹配)
新元素:<datalist>(输入建议列表)、<output>(计算结果输出)
4. 强大的绘图与图形 (Graphics)
Web 不再只是静态的图文,而是可以进行高性能渲染
Canvas API:使用 JavaScript 在网页上绘制 2D 图形(适合游戏、动态图表)
SVG 内联:支持在 HTML 中直接嵌入和操作可伸缩矢量图形
WebGL:基于 Canvas 的 3D 渲染接口(常配合 Three.js 使用)
5. 本地存储 (Client-Side Storage)
解决了 Cookie 存储空间小(4KB)、性能差的问题
localStorage:永久存储数据,除非手动删除
sessionStorage:会话级存储,关闭窗口后失效
IndexedDB:浏览器端的高性能 NoSQL 数据库,用于存储大量结构化数据
6. 新的 JavaScript API
这是广义 HTML5 最强大的部分,让 Web 应用的功能接近原生 App
地理定位 (Geolocation API):获取用户的经纬度坐标
拖放 API (Drag and Drop):原生支持元素拖拽
Web Workers:允许在后台线程运行 JS,不阻塞 UI 渲染(多线程处理)
WebSockets:全双工通信协议,实现真正的实时数据交互(如聊天、实时报价)
History API:pushState和replaceState,允许不刷新页面修改 URL(单页应用 SPA 的基础)
通知 (Notifications API):向用户发送桌面弹窗通知
离线缓存 (Service Workers / Cache API):替代了早期的 AppCache,让网页在无网环境下也能运行(PWA 核心)
7. CSS3 (广义 HTML5 的一部分)
虽然 CSS3 是独立标准,但常被归入 H5 范畴
布局:Flexbox(弹性盒子)、Grid(网格布局)
视觉:圆角 (border-radius)、阴影 (box-shadow)、渐变 (gradient)、透明度 (rgba)
动画:Transition(过渡)、Animation(关键帧动画)、Transform(旋转、缩放、位移)
响应式:Media Queries(媒体查询),实现一套代码适配手机和电脑
8. 设备访问 (Device Access)
Device Orientation:访问陀螺仪、重力感应
Camera/Microphone API:通过getUserMedia调用摄像头和麦克风
cartier-sz.jshdwatch.com
cartier-fzs.jshdwatch.com
cartier-hzs.xajshd.com
cartier-njs.xajshd.com
cartier-bjs.nnjshd.com
cartier-shs.nnjshd.com
cartier-sz.hebjshd.com
cartier-wzs.hebjshd.com
cartier-gzs.watchrft.cn
cartier-shenzhen.watchrft.cn
cartierw.shrhzb.com
cartierw.jshdvip.com
cartierw.watchsha.cn
cartierw.watch-hdl.com
cartierw.ruifengshi.com
cartierw.watchrft.cn
cartierw.watchhls.com
cartierw.csjshd.com
cartierw.jshdzg.com
cartierw.jshdsx.com
cartierw.watchwx8.com
cartierw.watchwx5.com
cartierw.watchjwh.cn
cartierw.watchjwd.cn
cartierw.shjshd.cn
cartierw.rogerweixiu.com
cartierw.zhcxb.cn
cartierw.aysza.cn
cartierw.hx626.com
cartierw.ernestshwx.com
cartier-cds.kpkwatch.com
cartier-hzs.kpkwatch.com
cartier-njs.hntwx.cn
cartier-sys.hntwx.cn
cartier-bjs.biaoshouhou.cn
cartier-gzs.buchererweixiu.com
cartier-bjs.hidcwatch.com
cartier-gzs.watchgz.cn
cartier-bjs.hntwx.cn
cartier-gzs.aysza.cn
cartier-bjs.watchjwf.cn
cartier-gzs.zzjshd.com
cartier-bjs.shmwatch.cn
cartier-gzs.watch-service.com.cn
cartier-bjs.zhcxb.cn
cartier-bjs.jshdvip.com
cartier-zzs.iwatch4s.com
cartier-gzs.jhpwd.cn
cartier-bjs.wzjshd.com
cartier-zzs.jws-watch.com
Battery Status API:获取设备电量
总结
广义 HTML5 的核心价值在于:
脱离插件:干掉了 Flash
移动优先:完美适配手机浏览器
应用化:让网页不再只是文档,而是能离线、能绘图、能定位、能实时通信的 "Web App"
HTML5 的核心目标是减少浏览器对插件的依赖,并提高 Web 应用的性能和用户体验。