1 2 3 //桥接模式的作用在于将实现部分和抽象部分分离开来,以便两者可以独立的变化。 4 var singleton=function(fn){ 5 var result; 6 return function(){ 7 return result||(result=fn.apply(this,arguments)); 8 } 9 } 10 var createMask=singleton(function(){ 11 return document.body.appendChild(document.createElement("div")); 12 }); 13 //singleton是抽象部分,而createMask是实现部分,他们之间互相独立互不影响 14 //2,另外一个常见的例子是forEach函数的实现,用来迭代一个数组。 15 forEach=function(ary,fn){ 16 for(var i=0,l=ary.length;i<l;i++){ 17 var c=ary[i]; 18 if(fn.call(c,i,c)===false){ 19 return false; 20 } 21 } 22 } 23 24 forEach([1,2,3],function(i,n){ 25 alert(n*2); 26 }) 27 forEach([1,2,3],function(i,n){ 28 alert(n*3); 29 }) 30 31 </script>
时间: 2024-11-05 18:29:52