当前位置: IT培训 > HTML5培训 > 前端开发 > HTML5面试题 > 前端面试必备 常见HTML5面试题及答案
前端面试必备 常见HTML5面试题及答案 时间:2017-11-09     来源:常见HTML5面试题汇总

时下,前端工程师可谓是热门岗位,很多人都在应聘这方面的工作,我们在应聘这方面工作时必不可少的要做一些面试题,让面试官了解我们自身技术掌握的如何?那么我们该如何准备HTML5面试题呢?今天小编就为您分享一些常见HTML5面试题。

1、HTML5的新特性

(1) 绘画canvas

(2) 用于媒介回放的video和audio元素

(3) 本地离线存储localStorage长期存储数据,浏览器关闭后数据不丢失

(4) sessionStorage的数据在浏览器关闭后自动删除

(5) 语义化更好的内容元素,比如article,footer,header,nav,section

(6) 表单控件,calendar,date,time,email,url等

(7) 新的技术webworker,websockt,Geolocation

(8) 移出的元素

a.纯表现的元素:basefont,big,center,font等

b.产生负面影响的元素:frame frameset等

(9) ie8 7 6 支持通过document.createElemet 方法产生新的标签,可以利用这 一特性让这些浏览器支持html5新标签

HTML5面试题

2、语义化的理解

*HTML语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析;

*在没有样式CSS情况下也以一种文档格式显示,并且是容易阅读的;

*搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于SEO。

*使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。

3、jQuery与jQuery UI有啥区别?

(1)jQuery是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等。

(2)jQuery UI则是在jQuery的基础上,利用jQuery的扩展性,设计的插件。提供了一些常用的界面元素,诸如对话框、拖动行为、改变大小行为等等。

4、垃圾回收机制(GC)

我们一般说的垃圾回收是针对内存而言的。内存在计算机中是很宝贵的一种资源,任何程序的运行都离不开它。由于内存可以被程序操控,为了防止内存被程序滥用,对内存空间进行管理是十分必要的。说到内存管理,自然离不开JS中的垃圾回收机制,有两种策略来实现垃圾回收:【标记清除 和 引用计数;】

函数运行的时候,浏览器自动开辟一块内存 把浏览器内部的各种变量,存放在此内存中运行结束后,用不到的变量,把它自动回收

5、闭包

由于函数内部定义变量作用域问题,如果外部想用这个内部函数创建的一个变量;那就需要在这个函数内部在创建一个函数,创建的这个函数相当于一个桥梁把内部外部函数的变量抛出,这样就解决了不能访问这个变量的问题,那这个内部函数就称为闭包。

闭包的特性:

a.函数内再嵌套函数

b.内部函数可以引用外层的参数和变量

c.参数和变量不会被垃圾回收机制回收

概括的说,闭包就是能够读取其他函数内部变量的函数,在本质上,它是将函数内部和函数外部连接起来的一座桥梁。

6、缓存版本更新

原理:修改资源的地址名,对浏览器来说,就是一个全新的请求

传统方式:在【静态资源】后面加版本号

script(src="indexPage.js?V=20160227")

优点:可以解决缓存造成的问题,能及时更新缓存,让用户访问新的内容

缺点:在中型,大型项目中,版本号一般是统一加的一个变量,当只是一个小的修改时候,比如说只有一个js脚本发生了变化,这时候所有资源的版本号都更新,造成资源 流量浪费,用户体验不好

解决方式:按需变化

增量式发布: 依赖文本的内容 内容变了,加密的串就变化

优点:提交资源服务器时候,只会把新的文件提交上去,没有变化的文件依然是老的资源,也就是只增加了修改的文件

缺点:文件提交之后,更新的那个文件,可能存在多个版本,造成服务器的空间浪费, 需要定时清理不用的资源

原理:利用md5加密技术

(把需要生成md5串的资源读取过来,利用md5对内容进行加密编译,生成相应的加密串,这个加密串是唯一的,如果资源的内容没有变化,再次进行md5处理,生成的加密串不变化)

7、Typeof的作用

一、对于数字类型的操作数而言, typeof 返回的值是 number。比如说:typeof(1),返回的值就是number。

上面是举的常规数字,对于非常规的数字类型而言,其结果返回的也是number。比如typeof(NaN),NaN在JavaScript中代表的是特殊非数字值,虽然它本身是一个数字类型。在JavaScript中,特殊的数字类型还有几种:Infinity 表示无穷大特殊值

二、对于字符串类型, typeof 返回的值是 string。比如typeof("123")返回的值是string。

三、对于布尔类型, typeof 返回的值是 boolean 。比如typeof(true)返回的值是boolean。

四、对于对象、数组、null 返回的值是 object 。比如typeof(window),typeof(document),typeof(null)返回的值都是object。

五、 对于函数类型,返回的值是 function。比如:typeof(eval),typeof(Date)返回的值都是function。

六、如 果运算数是没有定义的(比如说不存在的变量、函数或者undefined),将返回undefined。比如:typeof(sss)、typeof(undefined)都返回undefined

8、常见的状态码分别表示什么

1**(信息类):接受到请求并且继续处理

2**(响应成功):表示动作被成功接受,理解和接受

200 -表示请求被成功完成,请求的资源发送回客户端

202 -接受和处理,但处理未完成

203 -返回信息不确定或不完整

204 -请求收到,但返回信息为空

3**(重定向):为了完成指定的动作,必须接受进一步处理

300 -请求的资源可在多处得到

301 -本页面被永久性转移到另一个URL

304 -自从上次请求后,请求的网页未修改过,服务器返回此响应时,不会返回网页内容,代表上次的文档已经被缓存了,还可以继续使用

305 -请求的资源必须从服务器指定的地址得到

4**(客户端错误类)

400 -客户端请求语法错误,不能被服务器所理解

403 -禁止访问,服务器收到请求,但是拒绝提供服务

404 -服务器无法取得所请求的网页,请求资源不存在。

9、JavaScript异步加载方案

创建script,插入到DOM中,加载完毕后callBack,代码如下:

function loadScript(url, callback){

var script = document.createElement("script")

script.type = "text/javascript";

if (script.readyState){ //IE

script.onreadystatechange = function(){

if (script.readyState == "loaded" || script.readyState == "complete"){

script.onreadystatechange = null;

callback();

}

};

} else { //Others: Firefox, Safari, Chrome, and Opera

script.onload = function(){

callback();

};

}

script.src = url;

document.body.appendChild(script);

}

10、JavaScript中实现类似PHP的print_r函数

HTML5面试题