轻松掌握Javascript代理模式
此时,我们可以将对象的某些部分与第三方对象分开,本体只有自己的核心职责。这第三方对象称为代理,代理对象可以是对象的保护器(也称为真实主体),允许真正的主体对象尽可能少地工作。在代理设计模式中,一个对象充当另一个对象的接口角色。
一般来说,代理和本体之间的接口应该是一致的,以便用户可以直接访问本体时,不需要代理。
当我们不方便直接访问对象时,我们可以考虑为对象注册代理。
代理可以使用:图片预加载的HTTP请求(HTTP代理,所有收集到的一定时间内的请求,然后一次性发给服务器),延迟加载(通过一些基本操作,代理处理采集,只有当真正需要载体,代理缓存(Cache)要求,计算结果)等。
示例1:图片预压
无功myimage =(函数(){()
无功imgnode = document.createelement('img);
document.body.appendchild(imgnode);
返回{
setsrc:功能(SRC){
imgnode.src = SRC;
}
}
});
代理函数
无功proxyimage =(函数(){()
VaR img =新形象;
img.onload =函数(){
MyImage.setSrc(,SRC);
}
返回{
setsrc:功能(SRC){
MyImage.setSrc('loading。gif);
img.src = SRC;
}
}
});
proxyimage.setsrc('show .webp);
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。