JavaScript外观模式?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

JavaScript外观模式?

前端问答 2019-12-30 12:53:23 1656
JavaScript 前端开发
分享到
取消 提交回答
全部回答(1)
  • 前端问答
    2019-12-30 12:53:32

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

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

    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 即可。

    1 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程