代理模式是为一个对象提供一个代用品或占位符,以便控制对他的访问。代理模式的关键是,当客户不方便直接访问一个对象或者不满足需要的时候,提供一个对象来控制这个对象的访问,客户实际上访问的是替身对象。替身对象对请求做出一些处理后再把请求转交给本体对象。
不使用代理:客户 → 本体
使用代理:客户 → 代理 → 本体
代理模式是为一个对象提供一个代用品或占位符,以便控制对他的访问。代理模式的关键是,当客户不方便直接访问一个对象或者不满足需要的时候,提供一个对象来控制这个对象的访问,客户实际上访问的是替身对象。替身对象对请求做出一些处理后再把请求转交给本体对象。
不使用代理:客户 → 本体
使用代理:客户 → 代理 → 本体
迭代器模式是指提供一种方法,顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之后,即使不关心内部构造,也可以按顺序访问其中的每个元素。
迭代器模式无非就是循环访问聚合对象中的各个元素。比如jQuery中的$.each函数,其中回调函数中的i为当前 索引,n为当前元素,代码如下
全屏API可以控制浏览器的全屏显示,让一个Element节点(以及子节点)占满用户的整个屏幕。目前各大浏览器的最新版本都支持这个API(包括IE11),但是使用的时候需要加上浏览器前缀。