前端面试题

1.声明位于文档的最前面,标签之前,用于告知浏览器文旦使用那种HTML或XHTML规范(告知浏览器按照何种规范解析页面)

2.img的alt与title有何异同?strong与em 有何异同:
alt:为不能显示图片、窗口、或者applets的用户代理,alt属性用来指定替换文字,替换文字的语言有lang属性指定。
title:该属性为设置活该属性的元素提供建议性的信息。
strong:粗体强调标签,强调,表示内容的重要性
em:斜体强调标签,更强烈强调,表示内容的强调点

3.src与href的区别:
src:替换当前元素,指向外部资源的位置,指向的内容将会嵌套到文档中当前标签所在位置,在请求src资源时会将其指向的资源下载并应用到文档内;当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕
href:用于字当前文档和引用资源之间确立联系,指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,使用时,会并行下载资源并且不会停止对当前文档的处理

4.块级元素
作用:搭建网页结构
特点:独占一行空间,默认宽度100%,高度由子元素或内容决定,
可以通过css指定其宽度

5.行内元素:
作用:在结构中填充网页内容
特点:与其他行内元素共享一行空间,宽高由自身决定,由于不用来搭建网页结构,所以也不需要通过css指定其宽高,行内元素中不能嵌套块级元素

6.http协议
(1)http是一种获取网络资源的通讯协议,是在web上进行数据交换的基础,请求通常由像浏览器类的接收方发起的;是一种可扩展协议,应用层协议,通过TCP或TLS加密的TCP连接来发送;
HTTP报文分为:请求报文和响应报文。
请求报文:客户端想服务端发送请求的信号
响应报文:服务端响应处理后回传给客户端的信号

(2)请求报文:由请求行,请求头,空行,请求体四部分组成,空行的作用时进行分隔,必不可少
请求行:由请求方法,url和http协议版本3个字段组成,之间用空格分隔,最后以回车和换行符结尾进行内容分隔,表示接下来的内容不是请求行的内容
请求方法:类型有:get,post,head,put,delete,options,trace,connect.其中get,post最为常用。
get:通常用于当客户端要从服务端中读取文档时;请求参数和对应的值时跟在url后面,通过问号("?")和add连接符("&")以及"="号连接。要求服务器将url定位的资源放在响应报文的数据部分,回送给客户端。因为传递的参数和值存在url中,所以get方法请求的http报文时没有请求体的。不利于数据的保密和安全。浏览器对地址的字符长度有限制,如果传输的叔比较大,不宜使用get方法。
post:弥补了get的不足,将要传输的数据封装在报文的请求体中,并对传输的数据大小没有限制,比较私密和安全
head:偶尔用到,服务端接受到head请求后只返回响应头,不会发送响应内容,提高了传输效率,当我们只需要查看某个页面的状态时,使用head是非常有效的。
(3)请求头
由键/值对组成,每行一对,键和值用冒号":"分隔,请求头高柱服务器所有关于客户端请求的信息
(4)请求体
请求体包含请求数据

7.html5有那些新增特性:
(1)语义化标签:
article:定义页面独立的内容区域
aside:定义页面的侧边栏内容
bdi:允许设置一段文本,使其脱离父元素的文本方向设置
command:定义命令按钮,比如单选按钮,复选框或按钮
details:用于描述文档或文档某个部分的细节
dialog:定义对话框,比如提示框
summary:标签包含details元素的标题
figure:规定独立的流内容(图像、图表、照片、代码等等)
figcaption:定义figure元素的标题
footer:定义section或document的页脚
header:定义了文档的头部区域
mark:定义带有记号的文本
meter:定义度量衡,仅用于已知最大和最小值的度量
nav:定义导航链接的部分
ruby:定义ruby注释
rt:定义字符的解释或者发音
rp:在ruby注释中使用,定义不支持ruby元素的浏览器锁显示的内容
section:定义文档中的节
time:定义日期或时间

(2)表单控件
number
date
time
email
url
search
(3)音频和视频
audio
video
(4)本地离线存储
localStorage:永久存储会话数据,除非removeItem,否则即使浏览器关闭会话数据也一直存在
sessionStorage:临时保存,会话数据值保存到浏览器关闭
cookies:可自定义会话数据 的失效时间,一般默认浏览器关闭之后失效
(5)画布
canvas:定义图形,比如图表和其他图像,使图形容器,必须使用脚本绘制图形

8.SGML,HTML,XML,XHTML的区别
SGML:标准通用标记语言,具有非常复杂的文档结构
HTML:超文本标记语言,继承了SGML的很多优点,但HTML使一种界面技术,语法是不可扩展的
XML是在html和sgml的基础上诞生的XML使用一个简单而又灵活的标准格式,为基于web的应用提供了一个描述数据和交换数据的有效手段。XML是一个SGML子集
XHTML:是一种标记语言,表现方式与超文本标记语言类似,不过语法上更加严格,从继承关系上讲,HTML是一种基于标准通用标记语言的应用,是一种非常灵活的置标语言,而XHTML基于可扩展标记语言

9.link和@import的区别:
(1)所属范围:link是html标签,@import是css语法
(2)加载顺序:页面加载时,link标签引入的css样式同时被加载,@import引入的css样式等页面加载完毕之后再加载
(3)兼容性:link不存在兼容性问题,@import只支持IE5以上的版本

10.如何处理html5新标签的浏览器兼容问题?
(1)使用静态资源的html5shiv包,用script标签引入,载入后初始化新标签的css
(2)IE6/IE7/IE8支持通过document.createElement()创建新标签,利用者以特性可以让浏览器支持html5的新标签

11.对html语义化的理解
(1)使页面内容结构化,便于浏览器、搜索引擎解析
(2)即使没有css样式也可以一种文档格式显示,并容易阅读
(3)搜索引擎的爬虫依赖于html标记来确定上下文和各个关键字的权重,有利于所搜引擎优化

你可能感兴趣的