代理模式
var myImage=(function(){
var imgNode=document.createElement('img')
document.body.appendChild(imgNode)
return {
setSrc:function(src){
imgNode.src=src;
}
}
})()
myImage.setSrc('./img/dog.jpeg')
通过proxyImage间接访问MyImage,proxyImage控制了客户对Myimage的访问,并且在此过程中加入一些额外操作,比如在真正图片加载好之前,先把img节点的src设置为本地loading图片
var myImage=(function(){
var imgNode=document.createElement('img')
document.body.appendChild(imgNode)
return {
setSrc:function(src){
imgNode.src=src;
}
}
})()
var proxyImage=(function(){
var img=new Image;
img.onload=function(){
myImage.setSrc(this.src)
}
return {
setSrc:function(src){
myImage.setSrc('./img/loading.jpeg')
img.src=src;
}
}
})()
proxyImage.setSrc('./img/dog.jpeg')