在前端开发中,一个比较重要环节性能优化,然而利用浏览器缓存是性能优化中简单高效的一种优化方式了,一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷

日常开发中会遇到很多事件执行频率很大比如:
resize、scroll、mousedown、mousemove...
执行频率越多,对应函数执行次数增多,通过引入节流防抖可以有效解决这一问题

丰富的离线体验、定期的后台同步以及推送通知等通常需要将面向本机应用的功能将引入到网页应用中。 Service Worker 提供所有这些功能所依赖的技术基础。

Chrome 55 中默认情况下启用异步函数,坦率地讲,它们的作用相当不可思议。 可以利用它们像编写同步代码那样编写基于 Promise 的代码,而且还不会阻塞主线程。 它们可以让异步代码“智商”下降、可读性提高。

利用FormData对象,我们可以通过JavaScript用一些键值对来模拟一系列表单控件,我们还可以使用XMLHttpRequestsend()方法来异步的提交这个"表单",Blob对象表示一个不可变、原始数据的类文件对象,ArrayBuffer对象用来表示通用的、固定长度的原始二进制数据缓冲区

js中的原型继承,遵守5个基本原则:

  • 所有的数据都是对象
  • 要得到一个对象,不是通过实例化类,而是找到一个对象作为原型并克隆它
  • 对象会记住它的原型
  • 如果对象无法响应某个请求,它会把这个请求委托给它自己的原型

接下来我们将详细讲解这个5个基本原则.....

单例模式是一种常见的模式,有一些对象我们往往只需要一个,比如线程池、全局缓存、浏览器中的window对象等。在js开发中,单例模式的用途同样非常广泛......