国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

JavaScript的設計模式經典之代理模式

2024-05-06 16:29:09
字體:
來源:轉載
供稿:網友
代理模式的定義是把對一個對象的訪問, 交給另一個代理對象來操作。接下來通過本文給大家介紹JavaScript的設計模式之代理模式,感興趣的朋友一起學習吧
 

 一、代理模式概念

說明:顧名思義就是用一個類來代替另一個類來執行方法功能,這個模式跟裝飾模式有點相似,不一樣的是,代理模式是代替客戶初始化被代理對象類,而裝飾模式采用接口或初裝飾者參數引用的方式來執行的。

解釋:房屋中介,可以代理幫助賣家把房子賣給買家,這中間賣家說要賣的價錢就可以了,買家也可以提出自己要買的房型,中介可以幫忙處理中間環節。最后達成買賣。中介可以同時代理很多房屋買賣,并且可以代理租房事宜。

二、代理模式的作用和注意事項

模式作用:

1、遠程代理(一個對象將不同空間的對象進行局部代理)

2、虛擬代理(根據需要創建開銷很大的對象如渲染網頁暫時用占位代替真圖)

3、安全代理(控制證實對象的訪問權限)

4、智能指引(調用對象代理處理另外一些事情如垃圾回收機制)

注意事項:

1、不能濫用代理,有時候僅僅是給代碼增加復雜度

三、代理模式代碼和實戰總結

<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title></title></head><body><script>//代理模式需要三方//1.買家function maijia(){this.name = "小明";this.money = "30萬";}//2.中介function zhongjie(){}zhongjie.prototype.maifang = function(){//new fongdong(new maijia()).maifang("20萬");new fongdong(new maijia()).maifang("20萬");}//3.賣家function fongdong(maijia){this.maijia_name = maijia.name;this.maijia_money = maijia.money;this.maifang = function(money){// alert("收到了來自【"+this.maijia_name+"】"+money+"人民幣");alert("收到了來自【"+this.maijia_name+"】"+this.maijia_money+"人民幣");}}(new zhongjie()).maifang();</script><script>// A2Bfunction A(){this.money = "20RMB";}function to(){if(!(this instanceof to)){return new to;}}to.prototype.maifang = function(){var a = new A();new B().maifang(a.money);}function B(){this.maifang = function(money){alert("收到了錢"+money);}}(new to()).maifang();to().maifang();</script></body></html>


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 合水县| 固镇县| 贵溪市| 庐江县| 巧家县| 赣榆县| 正宁县| 涿鹿县| 太仆寺旗| 仙居县| 建瓯市| 曲松县| 张掖市| 平阴县| 闽侯县| 桐庐县| 平遥县| 西吉县| 聂荣县| 绵竹市| 西贡区| 伊春市| 温州市| 都兰县| 通城县| 翁牛特旗| 礼泉县| 襄垣县| 新干县| 沾化县| 芦溪县| 灵寿县| 定西市| 柘城县| 高青县| 马龙县| 宝清县| 德阳市| 黑水县| 鸡泽县| 齐齐哈尔市|