裝飾者模式
讓我們的代碼便于擴展
擴展原有代碼的一種方式
例:
<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>