综述HTML5 File API
HTML5新增了一组与本地文件进行交互的API。这组API增强了前端操作文件数据的能力,以前通常要借助后端实现的一些功能,例如断点续传,图片预览等现在也可以在前端轻松的完成了。
HTML5新增了一组与本地文件进行交互的API。这组API增强了前端操作文件数据的能力,以前通常要借助后端实现的一些功能,例如断点续传,图片预览等现在也可以在前端轻松的完成了。
最近碰到一些数据传输问题,什么unicode,UTF-8,base64等等一堆数据转换相关的概念分不清楚,索性做一个从下到上的总结,以后自己查起来也方便。
有些时候我们需要像某些对象发送请求,但还没有确定的接受者和响应操作。就像导演拍戏一样,只要一声action的请求,不同的工作人员就会根据初始的职责来进行各自的响应操作。将请求者和接收者完全解耦,将响应方法封装在接收者内通过命令激活,这就是命令模式。
前端性能优化中,缓存是非常重要的一部分。一个优秀的缓存策略可以很好的降低带宽,节省成本,并且提升用户体验。下面就分别来分析总结在web中常用的缓存类型。
代理模式是业务场景中很常用的模式。关键在于当不方便直接访问一个对象时,提供一个替身对象来接受访问,然后通过替身对象的内部处理将请求转交给本体对象。
块级格式化上下文是在CSS定位中非常有用的一个概念,它决定了部分元素的定位方式以及和其他元素的相互作用。下面从CSS布局开始来一步一步分析BFC的用法。
俗话说条条大路通罗马,在程序设计中不少问题也存在着多种解决方案。不同的解决方案虽然都是用来解决同一个问题,但由于场景不同最适合的方案也不一样,于是很自然的想到将解决方案分别封装起来在合适的场景替换使用。这就是策略模式。
弹出层是一个很常见的需求。在一个登录功能的设计中,我们都希望无论单击多少次登录按钮,这个弹窗都只会被创建一次。这里就适合用单例模式来创建。在JS中单例模式的应用也非常广泛,比如全局缓存,window对象等等。下面我就来谈谈在JS中单例模式的具体应用。
在JS中实现遍历的方法多种多样,比较常用的有标准的for循环,for in,数组的各种遍历方法等等。不同的方法有不同的优缺点,导致我们经常混合使用不同的遍历方法,不仅增加了自身出错的可能性,也使代码增加了额外的复杂度,于是ES6中新增了迭代器设计来专用于迭代对象。
在JS中只存在一种集合类型,就是数组类型。数组只可以使用数值型的索引,有时候我们需要非数值型的索引。在过去我们一般采用非数组对象的键值对来模拟,这种方法虽然可以近似实现,但也存在一些问题。为此ES6推出了Set和Map这两种集合类型来解决非数值型索引需求。