1. HTML5 文档类型和字符集是?
<!DOCYPE>声明位于html文档的最上方,处于`html` UTF-8字符集。
2. HTML5语义化的优势?
HTML结构清晰
代码可度性好
无障碍阅读
利于SEO搜索引擎优化
移动设备能更完美的展示页面
便于团队维护开发
3. 网页从输入网址到渲染完成的步骤?
1.输入网址
2.发送到DNS服务器(解析),并获取域名对应的web服务器对应的ip地址
3.与web服务器建立TCP连接(低级协议,高级协议基础)
4.浏览器向web服务器发送http请求(高级协议)
5.web服务器响应请求,并返回指定url的数据(或错误信息,或重定向的新的url地址)
6.浏览器下载web服务器返回的数据及解析html源文件
7.生成DOM树,解析css和js,渲染页面,直至显示完成
4. Doctype作用?标准模式与兼容模式各有什么区别?
(1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于<html> 标签之前。告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。
(2).标准模式的排版和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。
5. 页面导入样式时,使用link和@import有什么区别?
(1)link属于XHTML标签,除了加载CSS外,还能用于定义RSS,定义rel连接属性等作用,而@import是CSS提供的,只能用于加载CSS
(2)页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载
(3)import是CSS2.1 提出的,只在IE5以上才能被识别,而link是XHTML标签,无兼容问题
6. 常见的浏览器内核有哪些?
Trident内核:IE,MaxThon,TT,The World,360,搜狗浏览器等。[又称MSHTML]
Gecko内核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等
Presto内核:Opera7及以上。 [Opera内核原为:Presto,现为:Blink]
Webkit内核:Safari,Chrome等。 [ Chrome的:Blink(WebKit的分支)]
7. 介绍一下你对浏览器内核的理解?
主要分成两部分:渲染引擎(layoutengineer或RenderingEngine)和JS引擎。
渲染引擎:负责取得网页的内容(HTML、XML、图像等等),进行渲染页面工作
JS引擎则:解析和执行javascript来实现网页的动态效果。
最开始渲染引擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向于 只指渲染引擎。
8. cookies,sessionStorage和localStorage 的区别?
cookie是网站为了标识用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。
cookie数据始终在同源的http请求中携带(即使不需要),会在浏览器和服务器间来回传递。
sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。
存储大小:
cookie数据大小不能超过4k。
sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到 5M或更大。
有效时间:
localStorage 存储持久数据,浏览器关闭后数据不丢失除非主动删除数据。
sessionStorage 数据在当前浏览器窗口关闭后自动删除。
cookie 设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
9. 说说你对SVN的了解?优缺点?
SVN是一种版本控制器,程序员开发的代码递交到版本服务器进行集中管理。
优点:代码进行集中管理,版本控制容易,操作比较简单,权限控制方便。
缺点:不能随意修改服务器项目文件夹。
10. SESSION?与?COOKIE的区别是什么,请从协议,产生的原因与作用说明?
Session是服务器端保存客户端状态信息的方案,一般保存在服务器端内存中,session超时时间在服务器端。
进行设置。Cookie是客户端保存信息的方案,一般是以文件的形式进行保存,cookie清空时间 是在客户机浏览器设置。
11. 事件的多种绑定方式?
div.onclick = function(){} //一个元素的同一个事件只能绑定一个处理程序 后者会覆盖前者
div.addEventListener('click',function(){},false)
div.attachEvent('onclick',function(){}) //ie独有
12. 什么是window.onload()?为什么要用?
window.onload() 方法用于在网页加载完毕后立刻执行的操作,即当 HTML 文档加载完毕后, 立刻执行某个方法。
window.onload() 通常用于 <body> 元素,在页面完全载入后(包括图片、css文件等等)执行脚 本代码。
因为 JavaScript 中的函数方法需要在 HTML 文档渲染完成后才可以使用,如果没有渲染完 成,此时的 DOM 树是不完整的,这样在调用一些 JavaScript 代码时就可能出"undefined"错误。