开发者社区> 问答> 正文

JavaScript外观模式?

展开
收起
前端问答 2019-12-30 12:53:23 5575 0
1 条回答
写回答
取消 提交回答
  • 前端问答小助手

    外观模式提供了一个接口,隐藏了内部的逻辑,更加方便外部调用。

    举个例子来说,我们现在需要实现一个兼容多种浏览器的添加事件方法

    function addEvent(elm, evType, fn, useCapture) {
      if (elm.addEventListener) {
        elm.addEventListener(evType, fn, useCapture)
        return true
      } else if (elm.attachEvent) {
        var r = elm.attachEvent("on" + evType, fn)
        return r
      } else {
        elm["on" + evType] = fn
      }
    }
    
    

    对于不同的浏览器,添加事件的方式可能会存在兼容问题。如果每次都需要去这样写一遍的话肯定是不能接受的,所以我们将这些判断逻辑统一封装在一个接口中,外部需要添加事件只需要调用 addEvent 即可。

    2019-12-30 12:53:32
    赞同 1 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载