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)
Think Different, Make Different-编程是一个习惯