15
这篇文章并不是最全的前端面试题(没有最全,只有更全),只是针对自己面试过程中遇到的一些难题、容易忽略的题做一个简单的笔记,方便后面有面试需要的小伙伴们借鉴,后续内容会不定时更新,有错误之处希望大家不吝指出。

1、Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?

  • <!DOCTYPE> 声明位于文档中的最前面,处于 <html> 标签之前。告知浏览器以何种模式来渲染文档。
  • 严格模式的排版和 JS 运作模式是 以该浏览器支持的最高标准运行。
  • 在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。
  • DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。

2、HTML、XML、XHTML 有什么区别

  • HTML:超文本标记语言
用来描述和定义网页内容的标记语言,是构成网页的最基本的东西。它的作用就是一个规范,告诉所有浏览器都统一标准。
  • XML: 可扩展标记语言
它的表现形式就是给一个文档加一堆标签,说明每段文字是干什么的,有什么意义。这样做的目的是方便存储、传输、分享数据,人和机器都可以很方便的阅读。XML 和 HTML 有一个明显的区别就是:HTML 的标签都是预定义的,你不可以自己随便增加,但是XML可以。
  • XHTML: 可扩展超文本标记语言
XHTML 就是以 XML 的语法形式来写 HTML。存在一些强制的要求,如下:
1、必须包含一个文件头声明 <!DOCTYPE>
2、所有元素名必须小写
3、所有空元素必须关闭
4、所有属性名必须小写
5、所有属性值必须加引号
6、所有布尔值属性必须加上属性值

3、HTML5支持哪些新特性、移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5?
新特性:

  • HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务等功能的增加。
  • 拖拽释放(Drag and drop) API
  • 语义化更好的内容标签(header,nav,footer,aside,article,section)
  • 音频、视频API(audio,video)
  • 画布(Canvas) API
  • 地理(Geolocation) API
  • 本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;
  • sessionStorage 的数据在浏览器关闭后自动删除
  • 表单控件,calendar、date、time、email、url、search
  • 新的技术webworker, websocket, Geolocation

移除元素:

  • 纯表现的元素:basefont,big,center,font, s,strike,tt,u;
  • 对可用性产生负面影响的元素:frame,frameset,noframes;

支持HTML5兼容

  • 使用成熟的框架、使用最多的是html5shim框架
<!--[if lt IE 9]> 
   <script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script> 
   <![endif]--> 

区分HTML和HTML5: DOCTYPE声明、新增的结构元素、功能元素


lishaoh
461 声望25 粉丝