javascript设计模式9迭代器模式

迭代器模式定义:提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。

迭代器模式的应用举例,根据不同的浏览器获取相应的上传组件对象

var getActiveUpload = function(){
	try{
		return new ActiveXObject("TXFTNActiveX.FTNUpload")
	}catch{
		return false;
	}
}

var getFlashUpload = function(){
	if(supportFlash()){
		var str = '<object type="application/x-shockwave-flash"></object>'
		return $(str).appendTo($('body'))
	}
}

var getFormUploadObj = function (){
	var str = '<input type="file" name="file" class="ui-file"/>'
	return $(str).appendTo($('body'))
}

var iteratorUpload = function(){
	for(var i = 0 , fn; fn = arguments[i++];){
		var upload = fn();
		if(upload != false){
			return upload;
		}
	}
}

var uploadobj = iteratorUpload(getActiveUpload,getFlashUpload,getFormUploadObj)

  

posted @ 2016-02-18 17:16  倾其一生  阅读(82)  评论(0编辑  收藏  举报