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