HTML5 测验
测试一下你对 HTML5 新特性的了解程度吧!
问题 1: 下面哪个元素用于定义文档的核心主体内容,并且一个页面只应该有一个?
- [ ]
<section> - [ ]
<main> - [ ]
<article> - [ ]
<div>
答案: <main>
问题 2: 你想创建一个输入框,让用户只能输入有效的电子邮件地址。你应该使用哪个 type 属性?
- [ ]
type="text" - [ ]
type="email" - [ ]
type="url" - [ ]
type="string"
答案: type="email"
问题 3: 哪个 HTML5 元素用于在网页上原生播放视频,无需插件?
- [ ]
<movie> - [ ]
<media> - [ ]
<video> - [ ]
<embed>
答案: <video>
问题 4: 当你想在用户的浏览器中永久存储少量数据(即使用户关闭浏览器后数据依然存在),你应该使用哪个 Web Storage 对象?
- [ ]
sessionStorage - [ ]
globalStorage - [ ]
cookieStorage - [ ]
localStorage
答案: localStorage
问题 5: 哪个技术允许你在后台运行 JavaScript,以防止复杂计算冻结用户界面?
- [ ]
setTimeout - [ ]
Ajax - [ ]
Web Workers - [ ]
requestAnimationFrame
答案: Web Workers
问题 6: 如果你需要一个从服务器到客户端的、轻量级的、单向的实时数据流(例如新闻推送),并且希望利用自动重连功能,哪个技术是最佳选择?
- [ ]
WebSockets - [ ]
Long Polling - [ ]
Server-Sent Events (SSE) - [ ]
Flash
答案: Server-Sent Events (SSE)
问题 7: <canvas> 和 <svg> 都可以用来绘图,它们最主要的区别是什么?
- [ ]
<canvas>是基于矢量的,<svg>是基于像素的。 - [ ]
<canvas>绘制的图形是 DOM 的一部分,<svg>不是。 - [ ]
<canvas>是基于像素的,放大后会失真;<svg>是基于矢量的,无限缩放不失真。 - [ ]
<svg>必须使用 JavaScript 绘图,<canvas>可以用 CSS。
答案: <canvas> 是基于像素的,放大后会失真;<svg> 是基于矢量的,无限缩放不失真。
问题 8: 在实现拖放功能时,为了让一个元素能够被成功放置在另一个元素上,你必须在放置区的哪个事件中调用 event.preventDefault()?
- [ ]
ondrop - [ ]
ondragstart - [ ]
ondragenter - [ ]
ondragover
答案: ondragover