您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“web前端中代理模式的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“web前端中代理模式的示例分析”這篇文章吧。
是為一個對象提供一個代用品或占位符,以便控制對它的訪問
假設當A 在心情好的時候收到花,小明表白成功的幾率有
60%,而當A 在心情差的時候收到花,小明表白的成功率無限趨近于0。 小明跟A 剛剛認識兩天,還無法辨別A 什么時候心情好。如果不合時宜地把花送給A,花 被直接扔掉的可能性很大,這束花可是小明吃了7 天泡面換來的。 但是A 的朋友B 卻很了解A,所以小明只管把花交給B,B 會監聽A 的心情變化,然后選 擇A 心情好的時候把花轉交給A,代碼如下:
let Flower = function() {}let xiaoming = { sendFlower: function(target) { let flower = new Flower() target.receiveFlower(flower) }}let B = { receiveFlower: function(flower) { A.listenGoodMood(function() { A.receiveFlower(flower) }) }}let A = { receiveFlower: function(flower) { console.log('收到花'+ flower) }, listenGoodMood: function(fn) { setTimeout(function() { fn() }, 1000) }}xiaoming.sendFlower(B)
場景
HTML元 素事件代理
<ul id="ul"> <li>1</li> <li>2</li> <li>3</li></ul><script> let ul = document.querySelector('#ul'); ul.addEventListener('click', event => { console.log(event.target); });</script>
ES6 的 proxy 阮一峰Proxy
jQuery.proxy()方法
優點
代理模式能將代理對象與被調用對象分離,降低了系統的耦合度。代理模式在客戶端和目標對象之間起到一個中介作用,這樣可以起到保護目標對象的作用
代理對象可以擴展目標對象的功能;通過修改代理對象就可以了,符合開閉原則;
缺點
處理請求速度可能有差別,非直接訪問存在開銷
以上是“web前端中代理模式的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。