1.定义:代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问。
2.意义:帮助被代理对象处理某些事物,已达到减小自身工作复杂度、增强安全性等等。
3.代码示例:单图片预加载实现
//DOM节点,img标签
var myImage = (function(){
var imgnode = document.createElement('img');
document.appendChild(imgnode);
return {
setSrc:function(src){
imgnode.src = src;
}
};
})();//当图片过大时,页面加载时会出现空白时间
//预加载图片处理代理对象
var proxyImage = (function(imgnode){
var img = new Image();
img.onload = function(){
imgnode.setSrc(this.src);
};
return {
setSrc:function(src){
imgnode.setSrc('loading.gif');
img.src = src;
}
};
})(myImage);
//使用
proxyImage.setSrc('demo.png');