最近在看js设计模式,因此总结一下自己在做项目中所用到的外观模式。
外观模式
定义:为子系统提供一组复杂的接口,通过这个接口可以实现对子系统访问更容易。个人理解:其实就是在做封装或者兼容性处理。
实现
function addEvent(dom,type,fn,flag){
if(dom.addEventListener){
dom.addEventListener(type,fn,flag)
return
}else if (dom.attachEvent){
dom.attachEvent(`on${type}`,fn)
return
}else{
dom[`on${type}`] = fn
return
}
}
外观模式就是这种实现复杂接口的功能,在这里,我们可以通过addEvent函数实现监听且不用考虑兼容性问题。