设计模式---003代理模式(转载自我的老师 Alley-巷子)

一、什么是代理模式

 

  解释:为其他对象提供一种代理以控制对这个对象的访问

 

二、案例一
 
     需求:如果有人需要找宝宝拍电影,那么首先必须找到吉吉。
     分析:对象:宝宝、吉吉

 

 

三、案例三
 
     用代理模式实现图片预加载
复制代码
function CreateImg(){
        //创建img标签
        var img = document.createElement("img");
        //设置img的路径为一个loading
        img.src = "loading.gif";
        //插入页码
        document.body.appendChild(img);
        
        //当图片缓存完毕以后替换loading
        this.setSrc = function(url){
            img.src = url;
        }
    }


    function ProxyImg(){
        var target =  new CreateImg();
        //创建Image对象
        var img = new Image();
        //缓存一张图片
        img.onload = function(){
            //当图片缓存完毕后赋值给createImage
            target.setSrc(this.src)
        }

        //设置缓存图片路径
        this.setSrc = function(url){
            img.src = url
        }
    }
    var img = new ProxyImg();
    img.setSrc("w1.jpg");
复制代码

 

 

posted @ 2019-08-31 21:29  买鹏啊  阅读(133)  评论(0编辑  收藏  举报