1.H5的文档类型是什么?新增的语义化标签有哪些?语义化是什么意思?
文档类型是<!DOCTYPE html> html语义化就是让页面的内容结构化,便于浏览器、搜索引擎解析,在没有CSS样式的情况下也以一种文档格式解析,易于阅读。搜索引擎的爬虫依赖于标记来确定上下文和各关键字的权重,利于SEO,是阅读网站的人更易于讲网站分块,便于阅读维护理解。
2.H5中CANVAS元素有什么作用?以及canvas画布的工作原理?
CANVAS元素用于在网页上绘制图形,该元素标签强大之处在于可以直接在HTML上通过JS进行图形操作。
Canvas画布其实是一个双缓冲画布,你眼睛看到的是一个现实完毕的画布,其实内存当中还有一个画布,而我们真正先画的东西是先存在画在内存中,我们是在内存当中画的,然后把内存当中的这个画布一整个给印上来,我们变形都是变化的内存当中的画布。
3.NPM是什么?全称怎么写,并且写出使用NPM的好处?
NPM(node package manager),通过NPM,你可以安装和管理项目的依赖,并且能够指明依赖项的具体版本号。对于Node应用开发而言,你可以通过package.json文件来管理项目信息,配置脚本,以及指明项目依赖的具体版本。
4.请介绍一下什么是XMLHttpRequest对象?
Ajax的核心是Javascript对象XMLHttpRequest。该对象在internet Exploer5中首次引入,它是一种支持异步请求的技术。简而言之,XMLHttpRequest使您可以使用JS向服务器提出请求并处理响应,而不阻塞用户。通过XMLHttpRequest对象,Web开发人员可以在页面加载以后进行页面的局部跟新。
5.get和post方法发送请求的区别是什么?
1)使用get请求时,参数在URL中显示,而使用post方式则不会显示出来;
2)使用get请求发送数据量小(get方法最大不超过255个字符),post请求发送数量 大;
3)发送请求时,因为get请求的参数都在url里,所以send函数发送的参数为null,而post请求在使用send方法时,却需赋予其参数。
6.解释下面常见HTTP状态码的含义?
200---正常
301--重定向
304--客户端有缓存的文档并发出一个条件性请求。服务器告诉客户,原来缓存的文档还可以继续使用。
404---要浏览的网页在服务器中不存在,该网页可能已迁移,无法找到指定位置的资源。
500---服务器遇到内部错误,不能完成请求。
7.AJAX的原理是什么?以及AJAX异步和同步请求的区别?
AJAX的原理简单来说通过XMLHttpRequest对象来向服务器发送异步请求,从服务器获得数据,然后用JS来操作DOM而更新页面。
AJAX包含的技术:所谓的异步其实是相对于同步来说的,在同步打开浏览器的时候,一切数据都是同时请求服务器,由浏览器负责提起请求,然后负责解析返回数据。而AJAX是利用浏览器内置的XMLHttp请求组件,这个组件就是用于在不刷新当前页面的情况下,可以使用JS来进行http请求的,这样就做不到了,不用刷新当前页面,就可以进行数据交换了。
流程步骤:
(1)创建XMLHttpRequest对象,也就是创建一个异步调用对象.
(2)创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息.
(3)设置响应HTTP请求状态变化的函数.
(4)发送HTTP请求.
(5)获取异步调用返回的数据.
(6)使用JavaScript和DOM实现局部刷新.
8.session和cookies的区别和联系是什么?以及session storage和session的区别是什么?
session和cookie区别是cookie对象将信息存放在客户端,session对象存放在服务器端,从生存期上讲,cookie可以长期保存,而session的生存期仅到会话结束。
session其实是利用cookie进行信息处理的,当用户首先进行请求后,服务端就在用户浏览器上创建一个cookie,当这个session结束时,其实就是意味着这个cookie就过期了。
session storage是将数据存储在浏览器自带的一些东西里面,本地存储。而session是服务器端的储存。
9.H5存储类型有哪些?都有什么区别?
H5能够本地存储数据,在之前都是使用cookies使用的。H5提供了下面本地存储方案:
localStorage用于持久化的本地存储,数据永远不会过期,关闭浏览器也不会丢失。
sessionStorage同一个会话中的页面才能访问并且会话结束后数据也随之销毁。
因此,sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。
WebSQL SQLlite数据库
IndexDB no sql数据库
离线缓存Manifest