javascript-外观模式

外观模式笔记

1. 为一组复杂的子系统接口提供一个更高级的统一接口, 通过这个接口使得对子系统接口的访问更容易;

2. 简化底层接口的复杂性,解决浏览器兼容性问题。

3.也会用于对底层结构兼容性做统一封装来简化用户使用

以事件方法作为demo实例

添加元素事件有三种:addEventListener,attachEvent,DOM0级事件如onclick

DOM0级事件有被覆盖的风险,应使用DOM2级事件处理程序提供的方法addEventListener来实现,但IE(低于9)不支持,其次考虑使用attachEvent,最后DOM0级事件

 1            function addEvent(dom,type,fn){
 2                 //对于支持dom2级事件处理程序 addEventListener方法的浏览器
 3                if(dom.addEventListener){
 4                    dom.addEventListener(type,fn,false);
 5                 //对于不支持addEventListener方法但支持attachEvent方法的浏览器
 6                 }else if(dom.attachEvent){
 7                    dom.attachEvent('on'+type,fn);
 8                 //不支持attachEvent方法的浏览器
 9                 }else{
10                    dom['on'+type] = fn;
11                 }
12             }