1.HTML5新增的API
◆Canvas
◆一个允许web应用程序将自身注册为某个协议或MIME类型的API。
◆一个引入新的缓存机制以支持脱机web应用程序的API。
◆一个能够播放视频和音频的API
◆一个历史纪录API
◆跨文档的消息传递,它提供了一种方式,使得文档可以互相通信而不用考虑它们的来源域,在某种程度上,这样的设计是为了防止跨站点的脚本攻击。
◆一个支持拖放操作的API,用它可以与draggable特性相关联。
◆一个支持编辑操作的API,用它可以与一个新的全局contenteditable特性相关联。
◆一个新的网络API,它支持web应用程序在本地网络上互相通信,并在它们的源服务器上维持双向的通信。
◆使用JavaScript API的键/值对实现客户端的持久化存储,同时支持嵌入的SQL数据库。
◆服务器发送的事件,通过它可以与新的事件源(event-source)元素关联,新的事件源元素有利于与远程数据源的持久性连接,而且极大地消除了在Web应用程序中对轮询的需求。
2.本地存储和cooki的区别
(1). cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。
(2). cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。
(3). 数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
(4). 作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localStorage 在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的。Web Storage 支持事件通知机制,可以将数据更新的通知发送给监听者。Web Storage 的 api 接口使用更方便。
3.前端优化
*内容层面
1、DNS解析优化(DNS缓存、减少DNS查找、keep-alive、适当的主机域名)
2、避免重定向(/还是需要的)
3、切分到多个域名
4、杜绝404
*网络传输阶段
1、减少传输过程中实体的大小
1)缓存
2)cookie优化
3)文件压缩(Accept-Encoding:g-zip)
2、减少请求的次数
1)文件适当的合并
2)雪碧图
3、异步加载(并发,requirejs)
4、预加载、延后加载、按需加载
*渲染阶段
1、js放底部,css放顶部
2、减少重绘和回流
3、合理使用Viewport 等meta头部
4、减少dom节点
5、BigPipe
*脚本执行阶段
1、缓存节点,尽量减少节点的查找
2、减少节点的操作(innerHTML)
3、避免无谓的循环,break、continue、return的适当使用
4、事件委托
4.数据类型,基本数据类型与引用数据类型的区别
//基本数据类型
var a=100
var b=a
a=200
b?
//引用数据类型
var a={age:20}
var b=a
b.age=21
a.age=?
5.数组方法
shift()----------删除数组的第一个元素,返回删除的值。这里是0
unshift(3,4)----------把参数加载数组的前面,返回数组的长度。
pop()-----------删除数组的最后一个元素,返回删除的值。
push(3)----------将参数加载到数组的最后,返回数组的长度
concat(3,4)----------把两个数组拼接起来。
splice(start,deleteCount,val1,val2,...)----------从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...
reverse---------将数组反序
sort(orderfunction)---------按指定的参数对数组进行排序
slice(start,end)---------返回从原数组中指定开始下标到结束下标之间的项组成的新数组
join(separator)----------将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
6.css实现动画有几种方式
animation,transition
7.绑定策略三种方式
8.响应式与自适应的区别
【主要针对PC端,但在移动端显示的时候,能显示主内容,不会显示其他侧栏之类的,把部分内容隐藏掉】,
而自适应更多的是在说移动端,【在移动端开发的webapp,内容显示都是一样的,但在不同分辨率的屏幕下,它可以自动满屏显示,不会出现横向滚动条之类的, UI,图片会伸缩,或者有更多的空白区域】
网友评论