SRP-单一职责:被定义为“引起变化的原因”,如果我们有两个动机去改写一个方法,那么这方法就有两个职责;
举例一个图片加载,要实现添加一个img标签和预加载图片的功能,分成两部份;分析下这两个闭包的执行顺序以便更好的理解
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
</body>
<script type="text/javascript">
var MyImage=(function(){
1、 var imgNode=document.createElement('img');
2、 document.body.appendChild(imgNode);
return {
6、 setSrc:function(src){
9、 imgNode.src=src;
}
}
})();
var proxyImage=(function(){
3、 var img=new Image;
img.οnlοad=function(){
8、 MyImage.setSrc(this.src);
}
return {
5、 setSrc:function(src){
MyImage.setSrc('Image/marker-icon.png');
7、 img.src=src;
}
}
})();
4、 proxyImage.setSrc('Image/layers.png');
</script>
</html>