先是忙着找工作,后又忙着写论文,一直没能把校招笔面试中遇到的问题好好的总结一下,今天终于有这个时间来完成这个光荣而伟大的任务。面试过程中很多答案都只停留在表层,没有更深入,同时如果有什么地方描述的有误,欢迎大家指正。
1、canvas画布的基本过程
答:1、获取<canvas>元素对应的DOM对象,这是一个canvas对象
2、调用canvas对象的getContext()方法,得到一个canvasRenderingContext2D对象
3、调用canvasRenderingContext2D对象进行绘图
2、section这一类标签的作用,为什么不直接用div
答:可以使标签更语义化
3、对语义化的理解
答:1、去掉或丢掉样式的时候能够让页面呈现出清晰的结构
2、有利于SEO
3、方便其他设备解析
4、便于团队开发和维护
5、便于残疾人士
补充:对web标准的理解
web标准简单来说分为表现、行为、结构三部分。
4、Doctype作用?严格模式与混杂模式如何区分?有何意义?
答:1、<!DOCTYE>声明位于文档最前面,处于html标签之前,告知浏览器以何种模式来渲染文档
2、声明模式的排版和JS运作模式是以浏览器支持的最高标准执行
3、混杂模式中,页面以宽松的向后兼容的方式显示
4、doctype不存在或格式不正确会导致页面以混杂模式呈现
5、便于残疾人士
补充:浏览器标准模式和怪异模式
浏览器解析css有两种模式:标准模式和怪异模式
标准模式:浏览器按3WC标准解析代码
怪异模式:用浏览器自己的方式解析代码
浏览器解析时用标准模式还是怪异模式,与网页中的DTD声明直接相关。
若网页代码中不含任何声明,则浏览器会采用怪异模式解析。
5、H5新特性,如何处理H5标签的浏览器兼容问题,如何区分HTML和HTML5?
答:1、语义化更好的标签(header、nav、footer、article、section)
2、音频、视频(audio、video)
3、画布canvas
4、本地存储localStorage、sessionSorage
5、表单控件,calendar、date
支持H5新标签
IE8/IE7/IE6支持通过document.createElement方法产生的标签,
可以利用这一特性让这些浏览器支持HTML5新标签,
当然最好的方式是直接使用成熟的框架、使用最多的是html5shim框架
<!--[if lt IE 9]>
<script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script>
<![endif]-->
如何区分: DOCTYPE声明\新增的结构元素\功能元素
6、如何实现浏览器内多个标签页之间的通信
答:调用localStorage、sessionStorage、cookie等本地存储方式
7、移动端如何在html中通过链接调起拨打电话
答:<a href='tel:10010'>10010</a>