时下,前端工程师可谓是热门岗位,很多人都在应聘这方面的工作,我们在应聘这方面工作时必不可少的要做一些面试题,让面试官了解我们自身技术掌握的如何?那么我们该如何准备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新标签
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函数
热点新闻
前端开发技术库