裝飾者模式

裝飾者模式

讓我們的代碼便于擴展
擴展原有代碼的一種方式
例:

<body>
    <div id="box">點擊變紅</div>
    <script>
    let box = document.getElementById('box')
    box.onclick = function(){
        this.style.color = 'red';
    }

    // 現(xiàn)在要在上面添加需求變背景顏色
    let comom = function(dom, fn){
        let ev = null
       // 判斷一個有沒有點擊事件用ev來傳存一下  再添加onclick事件 事件里ev執(zhí)行,改變this指向
        dom.onclick = dom.onclick && (ev = dom.onclick, function(){
            ev.apply(this);
            fn.apply(this)
        }) || fn
    }

    comom(box, function(){
        this.style.background = 'yellow'
    })

    comom(box, function(){
        this.style.fontSize = '32px'
    })

可以添加無數(shù)
    </script>
</body>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 設(shè)計模式概述 在學(xué)習(xí)面向?qū)ο笃叽笤O(shè)計原則時需要注意以下幾點:a) 高內(nèi)聚、低耦合和單一職能的“沖突”實際上,這兩者...
    彥幀閱讀 3,873評論 0 14
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,725評論 25 709
  • 用兩張圖告訴你,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 13,899評論 2 59
  • 溝通是一個既簡單又復(fù)雜的過程。 簡單,是因為有時只要動動嘴皮子,說幾句話,溝通就能完美完成。復(fù)雜,是因為有時需要花...
    楊梅泡酒閱讀 1,051評論 0 4
  • 十六七歲的時候,王二不務(wù)正業(yè),也不會受到責(zé)罰。他經(jīng)常為一些無聊的事情激動,即使花很多時間也不要緊,現(xiàn)在看來簡...
    慢條斯理查德閱讀 332評論 0 3

友情鏈接更多精彩內(nèi)容