1. requestAnimationFrame 动画
- 会把每一帧中的所有DOM操作集中起来,在一次重绘或回流中就完成,并且重绘或回流的时间间隔紧紧跟随浏览器的刷新频率,一般来说,这个频率为每秒60帧。
- 在隐藏或不可见的元素中,requestAnimationFrame将不会进行重绘或回流,这当然就意味着更少的的cpu,gpu和内存使用量
- 页面刷新前执行一次
- 1000ms 60fps - > 16ms
- 用法和 setTImeout类似
- 
1.1 cancelAnimFrame 清除 AnimationFrame
- storage 与 cookie 
- localstorage -> 文档源限制- 必须满足同源策略
 
- seesionstorage -> 文档源限制 + 窗口限制 
- window对象提供了一个history对象,与浏览器历史记录进行交互,该对象包含用户(在浏览器窗口冲访问过的URL) - window.history.forward()- 控制浏览器前进历史记录
 
- window.history.back()- 控制浏览器后退历史记录
 
- window.history.go(参数)- 参数如果是1代表前进一个页面
- 参数如果是-1后退一个页面
 
- window.history.pushState(state, title, url)- 添加一条历史记录
- state- 一个与指定网址相关的状态对象,popstate事件触发时,该对象会传入回调函数中
- 如果不需要这个对象,此处可以填null
 
- title- 新页面的标题,但是所有浏览器目前都忽略这个值,因此这里可以填null
 
- url- 新的网址,必须与当前页面处在同一个域
- 浏览器的地址栏将显示这个网址
 
 
- window.history.replaceState(state, title, url)
 
- window.history.forward()
- 构造函数创建一个 - [Worker](https://developer.mozilla.org/zh-CN/docs/Web/API/Worker)对象,该对象执行指定的URL脚本。
- window.navigator.geolocation下的接口 - 4.1 getCurrentPosition(suc, err, opt)
- window.addEventListenter(‘deviccemotion’, function (event) {console.log(event)}) - 5.1 devicemotion事件所包含的属性 只读
- 常用于各种拖动操作中 
- 创建可拖动元素 - 设置可拖拽元素
- 
6.1 拖拽相关的事件
- dragstart - 被拖拽元素 开始被拖拽时触发
 
- dragent - 被拖拽元素,拖拽完成时触发
 
- dragenter- 目标元素
- 拖拽元素进入目标元素
 
- dragover - 目标元素
- 拖拽元素在目标元素上移动
 
- drop- 目标元素
- 被拖拽的元素在目标元素上同时鼠标放开触发的事件
 
- 需要阻止dragover的默认行为才会触发drop事件
- 
6.2 DragEvent事件对象
- 传值 - e.dataTransfer.setData(“data”, e.target.id);
 
- 取值- e.dataTransfer.getData(“data”);
 
- 显示当前拖拽过来的信息- e.dataTransfer.files();
 
- 把传值的标签,放入到取值的标签中
- 
6.3 FileReader
- 用于读取文件 
- abot()- 终止读取
 
- readAsBinaryString(file)- 将文件读取为二进制编码
 
- readAsDataURL(file)- 将文件读取为DataURL编码
 
- readAsText(file,[encoding]) 
- 添加类样式 
 
- 参数
 
 
 



 





 
 
 
 
 
                         
                                

