循环时最耗费资源的操作,任意一点小小的损耗都会被成倍放大,从而影响到程序整体运行的效率。一下两个因素会影响到循环的性能。
- 每次迭代做什么
- 迭代的次数
通过减少这两者中一个或全部的执行时间,可以提高循环的整体性能。如果一次循环需要较长时间,那么多次循环将需要更长时间。
做过一个复杂的验证方法,需要两层each验证之后反正报错的信息。因为双重循环的问题,纠结了很久。
/** * 验证input 的值 是否输入 flg:验证成功 false:验证失败 */ function CommonApplyFormValidate(formId){ var logInfo = ""; outerloop://命名外圈语句 $(formId).find(".mui-input-row").each(function(){ var success = true; var inputObject = $(this); inputObject.children().each(function(index, el){ var cont = $(this); var keyId = cont.attr("id"); if(keyId != null && keyId !="" && keyId !="undefined"){ console.log("v1-----"+keyId); console.log("v1-required----"+cont.attr("required")); if(cont.attr("required") != "undefined"){ //根据标签的类型,设置初始化的值 var parmValue = ""; logInfo = $("#"+keyId).attr("al"); if($("#"+keyId).is('textarea')){ console.log('textarea'); parmValue = $("#"+keyId).val(); logInfo = "请输入"+logInfo; //$(keyId).val(dataValue); }else if($("#"+keyId).is('input')){ console.log('input'); parmValue = $("#"+keyId).val(); logInfo = "请输入"+logInfo; //$(keyId).val(dataValue); }else if($("#"+keyId).is('p')){ console.log('p'); parmValue = $("#"+keyId).html(); parmValue = parmValue=="请选择""":parmValue; logInfo = "请选择"+logInfo; //$(keyId).html(dataValue); } if(isnull(parmValue)){ console.log(11111111111111); success = false; return false; console.log(22222222); } } } }); return success ; }); return logInfo; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。