html5前端面试题文档格式.docx
- 文档编号:18516771
- 上传时间:2022-12-18
- 格式:DOCX
- 页数:8
- 大小:20.12KB
html5前端面试题文档格式.docx
《html5前端面试题文档格式.docx》由会员分享,可在线阅读,更多相关《html5前端面试题文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
几乎所有的浏览器Safari,Chrome,Firefox,Opera,IE都支持HTML5
HTML5的页面结构同HTML4或者更前的HTML有什么区别?
一个典型的WEB页面包含头部,脚部,导航,中心区域,侧边栏。
现在如果我们想在在HTML4的HTML区域中呈现这些内容,我们可能要使用DIV标签。
但是在HTML5中通过为这些区域创建元素名称使他们更加清晰,也使得你的HTML更加可读
以下是形成页面结构的HTML5元素的更多细节:
HTML5中的datalist是什么?
HTML5中的Datalist元素有助于提供文本框自动完成特性,如下图所示:
以下是DataList功能的HTML代码:
HTML5中什么是不同的新的表单元素类型?
这里有10个重要的新的表单元素在HTML5中被介绍
Color
Date
Datetime-local
Time
Url
Range
Telephone
Number
Search
让我们一步一步了解这10个元素
如果你想显示颜色选择对话框
如果你想显示日历对话框
如果你想显示含有本地时间的日历
如果你想创建一个含有email校验的HTML文本框,我们可以设置类型为“email”
对于URL验证设置类型为”url”,如下图显示的HTML代码
如果你想用文本展示数字范围,你可以设置类型为“number”
如果你想显示范围控制,你可以使用类型”range”
想让文本框作为搜索引擎
想只能输入时间
如果你想使用文本框接受电话号码
HTML5中什么是输出元素?
当你需要计算两个输入的和值到一个标签中的时候你需要输出元素。
例如你有两个文本框(如下图),你想将来自这两个输入框中的数字求和并放到标签中。
下面是如何在HTML5中使用输出元素的代码
为了简单起见,你也可以使用“valueAsNumber”来代替“parseInt”。
你同样能在output元素中使用“for”使其更加可读
什么是SVG(ScalableVectorGraphics可缩放矢量图形)?
SVG(ScalableVectorGraphics可缩放矢量图形)表示可缩放矢量图形。
他是基于文本的图形语言,使用文本,线条,点等来进行图像绘制,这使得他轻便,显示更加迅速
我们能看到使用HTML5的SVG的简单例子么?
比方说,我们希望使用HTML5SVG去显示以下简单的线条
下面是HTML5代码
HTML5中canvas是什么?
Canvas是HTML中你可以绘制图形的区域
我们如何使用Canvas来画一条简单的线?
定义Canvas区域
获取访问canvas上下文区域
绘制图形
定义Canvas区域你需要使用下面的HTML代码,这定义了你能进行绘图的区域
获取画布区域的访问
在画布上进行绘图我们首先需要获取上下文区域的关联,下面是获取画布区域的代码。
现在一旦你获取了访问上下文,我们就可以开始在上下文中绘制了。
首先调用“move”方法并从一个点开始,使用线条方法绘制线条然后使用stroke方法结束。
以下是完整的代码
你可以得到以下输出
Canvas和SVG图形的区别是什么?
Note:
-如果你看了之前的两个的问题,Canvas和SVG都可以在浏览器上绘制图形。
因此在这个问题中,面试官想知道你在什么时候选用哪种方式。
如何使用Canvas和HTML5中的SVG去画一个矩形?
HTML5使用SVG绘制矩形的代码
HTML5使用Canvas绘制矩形的代码
CSS(cascadingstylesheets级联样式表)中的选择器是什么?
选择器在你想应用一个样式的时候,帮助你去选择元素。
举例,下面是简单的被命名为”instro”的样式,他适用于HTML元素显示红色背景
应用上面的”intro”样式给div,我们可以使用”class”选择器,如下图所示
如何使用ID值来应用一个CSS样式?
假设,你有一个HTML段落标签,使用id是”mytext”,就和下面的片段中显示的那样
你可以使用”#”选择器和”id”的名字创建一种样式,并把CSS值应用到段落标签中,因此应用样式到”mytext”元素,我们可以使用”#mytext”,如下所示
迅速修订一些重要的选择器
设置所有段落标签背景色为黄色
设置所有div内部的段落标签为黄色背景
设置所有div之后的段落标签为黄色背景
设置所有含有“target”属性的变为黄色背景
当控制得到焦点的时候设置所有的元素为黄色背景
根据相关连接操作设置超链接样式
CSS中使用列布局是什么?
CSS列布局帮助你分割文本变为列,例如考虑下面的杂志新闻在一个大的文本中,但是我们需要在他们之间使用边界划分为3列,这里HTML5的列布局就有所帮助了
为了实现列布局我们需要指定以下内容
我们需要把text划分为多少列
指定列数我们需要使用column-count,对于Chrome和firefox分别需要”webkit”和“moz-column”
两列之间我们想要多少差距
你想在这些列之间画一条线么?
如果是,那么多厚呢?
以下是完整代码
你可以使用class属性来应用样式到文本
你能解释一下CSS的盒子模型么?
CSS和模型是围绕在HTML元素周围的定义Border(边界),padding(内边距)和margin(外边距)的矩形空间
Border(边界):
定义了元素包含的最大区域,我们能够使边界可见,不可见,定义高度和宽度等;
Padding(内边距):
定义了边界和内部元素的间距
Margin:
定义了边界和任何相邻元素的间距
例如以下是简单的CSS代码定义了盒子的边界,内边距和外边距值
现在如果我们应用了以上的CSS到一个如下显示的DIV标签,你输出将会和下面图形中显示的那样。
我已经创建两个测试“Sometext”和“Someothertext”,因此我们能看到多少margin(外边距)的属性功能
你能解释一些CSS3中的文本效果么?
这里面试官期待你回答两个Css的文本效果,以下是两种需要注意的效果
阴影文本效果
文字包装效果
什么是WebWorkers?
为什么我们需要他们?
考虑以下会执行上百万次的繁重的循环代码
比方说上面的循环代码在HTML按钮点击以后执行,现在这个方法执行是同步的,换句话说这个浏览器必须等到循环完成才能操作
这个会进一步导致浏览器冻结并且没有相应,屏幕还会显示如下的异常信息
如果你能移动这些繁重的循环到Javascript文件中,采用异步的方式运行,这意味着浏览器不需要等到循环接触,我们可以有更敏感的浏览器,这就是webworker的作用
Webworker帮助我们用异步执行Javascript文件
WebWorker线程的限制是什么?
Webworker线程不能修改HTML元素,全局变量和Window.Location一类的窗口属性。
你可以自由使用Javascript数据类型,XMLHttpRequest调用等。
我们如何在JavaScript中创建一个worker线程?
创建一个worker线程,我们需要通过Javascript文件名创建worker对象
我们需要使用“PostMessage”发送信息给worker对象,下面是相同的代码。
当worker线程发送数据的时候,我们在调用结束的时候,通过”onMessage”事件获取
这个繁重的循环在“MyHeavyProcess.js”的Javascript文件中,以下代码,当Javascript文件想发送信息,他使用”postmessage”,同时任何来自发送者的信息都在“onmessage”事件中接收到。
如何中止WebWorker?
为什么我们需要HTML5的服务发送事件?
网络世界的普遍需求是从服务器更新。
以一个股票应用为例,浏览器必须定期从服务器更新最新的股票值。
现在实现这类需求开发者通常写一些PULL的代码,到服务器同时抓取某些区间数据。
现在PULL的解决方案是很好的,但是这使得网络健谈有很多的调用,同时增加了服务器的负担。
因此相比于PULL,如果我们能采用某种PUSH的解决方案那会是很棒的。
简而言之,当服务器更新的时候,将会发送更新到浏览器客户端,那可以被接受通过使用”SERVERSENTEVENT”
因此首要的是浏览器需要连接将会发送更新的服务器资源,比方说我们有一个”stock.aspx”页面会发送股票更新,因此连接该页面,我们需要使用附加时间来源对象,如下所示:
当我们将要接受服务器发送的更新信息时,我们需要附加功能。
我们需要附加功能到”onmessage”事件就像以下显示的那样。
现在来自服务端,我们需要去发送事件,下面是一些用命令需要从服务端发送的重要事件列表
因此,举例说明,如果你想下面的ASP.NET代码一样发送数据,请标记内容类型设置给文本/事件
以下是设置10s后重试的命令
如果你想附加事件,我们需要使用“addEventListener”事件,如下代码所示:
来自服务器端的以下信息将会触发Javascript的”message”方法
HTML5中的本地存储概念是什么?
很多时候我们会存储用户本地信息到电脑上,例如:
比方说用户有一个填充了一半的长表格,然后突然网络连接断开了,这样用户希望你能存储这些信息到本地,当网络恢复的时候,他想获取这些信息然后发送到服务器进行存储
现代浏览器拥有的存储被叫做“LocalStorage”,你可以存储这些信息。
我们如何从本地存储中添加和移除数据?
数据添加到本地存储采用键值对,以下示例显示了城市数据”India”添加了键”Key001”
从本地存储中检索数据我们可以提供键名并使用”getItem”方法
你也可以使用以下代码,存储Javascript对象在本地存储中
如果你想存储Json格式,你可以使用“JSON.stringify”方法,如下所示:
本地存储的生命周期是什么?
本地存储没有生命周期,它将保留知道用户从浏览器清除或者使用Javascript代码移除。
本地存储和cookies(储存在用户本地终端上的数据)之间的区别是什么?
什么是事务存储?
我们如何创建一个事务存储?
会话存储和本地存储类似,但是数据在会话中有效,简而言之数据在你关闭浏览器的时候就被删除了。
为了创建一个会话存储你需要使用“sessionStorage.variablename.”在以下的代码我们创建了一个名为”clickcount”的变量;
如果你刷新浏览器则数目增加,但是如果你关闭浏览器,“clickcount”变量又会从0开始。
本地存储和事务存储之间的区别是什么?
本地存储数据持续永久,但是会话在浏览器打开时有效知道浏览器关闭时会话变量重置
什么是WebSQL?
WebSQL是一个在浏览器客户端的结构关系数据库,这是浏览器内的本地RDBMS(关系型数据库系统),你可以使用SQL查询
WebSql是HTML5的一个规范吗?
不是,许多人把它标记为HTML5,但是他不是HTML5的规范的一部分,这个规范是基于SQLite的
我们如何使用WebSQL?
第一步我们需要做的是使用如下所示的“OpenDatabase”方法打开数据库,第一个参数是数据库的名字,接下来是版本,然后是简单原文标题,最后是数据库大小;
为了执行SQL,我们需要使用“transaction”方法,并调用”executeSql”方法来使用SQL
万一你要使用“select”查询你会得到数据”result”集合,我们可以通过循环展示到HTML的用户界面
HTML5中的应用缓存是什么?
一个最需要的事最终是用户的离线浏览,换句话说,如果网络连接不可用时,页面应该来自浏览器缓存,离线应用缓存可以帮助你达到这个目的
应用缓存可以帮助你指定哪些文件需要缓存,哪些不需要。
HTML5中我们如何实现应用缓存?
首先我们需要指定”manifest”文件,“manifest”文件帮助你定义你的缓存如何工作。
以下是”mainfest”文件的结构
所有manifest文件都以“CACHEMANIFEST”语句开始.
#(散列标签)有助于提供缓存文件的版本.
CACHE命令指出哪些文件需要被缓存.
Mainfest文件的内容类型应是“text/cache-manifest”.
以下是如何在ASP.NETC#使用manifest缓存
创建一个缓存manifest文件以后,接下来的事情实在HTML页面中提供mainfest连接,如下所示:
当以上文件第一次运行,他会添加到浏览器应用缓存中,在服务器宕机时,页面从应用缓存中获取
我们如何刷新浏览器的应用缓存?
应用缓存通过变更“#”标签后的版本版本号而被移除,如下所示:
应用缓存中的回退是什么?
应用缓存中的回退帮助你指定在服务器不可访问的时候,将会显示某文件。
例如在下面的manifest文件中,我们说如果谁敲击了”/home”同时服务器不可到达的时候,”homeoffline.html”文件应送达
应用缓存中的网络是什么?
网络命令描述不需要缓存的文件,例如以下代码中,我们说”home.aspx”永远都不应该被缓存或者离线访问。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- html5 前端 试题