两种写法那种执行效率高些?说明很详细,该如何处理
两种写法那种执行效率高些?说明很详细
下面两种代码那种运行快一点.注释就是变化的地方.
1,一种是直接循环里面进行双判断来实现.没有break; 第一个注释那里.
2,一种是在主循环最后有一个break;然后在 里面的判断里面再次使用循环来确认数值.
问题是:第一种会增加无用的循环和判断,减少运行速度.第二种是减少了循环和判断.但是增加了代码.哪种好呢?或者其他?
下面是代码二
下面两种代码那种运行快一点.注释就是变化的地方.
1,一种是直接循环里面进行双判断来实现.没有break; 第一个注释那里.
2,一种是在主循环最后有一个break;然后在 里面的判断里面再次使用循环来确认数值.
问题是:第一种会增加无用的循环和判断,减少运行速度.第二种是减少了循环和判断.但是增加了代码.哪种好呢?或者其他?
function ErrorValidator(TextBoxID) {
for (var i = 0; i < TextBoxIDArray.length; i++) {
if (TextBoxIDArray[i] == TextBoxID || TextBoxRuleArray[i] == TextBoxID) //改变的地方一
{
var TextBoxValues = document.getElementById(TextBoxIDArray[i]).value; //获得需要验证的文本框的内容
var l; //验证的结果
if (SpecialTextBoxID[i] == 0) { //改变的地方二
l = Rule(TextBoxRuleArray[i], TextBoxValues); //执行正则表达式
}else if (SpecialTextBoxID[i] == 1) {
if (TextBoxValues == document.getElementById(TextBoxRuleArray[i]).value) {
l = true;
} else {
l = false;
}
} else if (SpecialTextBoxID[i] == 2) {
if (TextBoxValues == "") {
l = true;
} else {
l = Rule(TextBoxRuleArray[i], TextBoxValues);
}
}
else {
l = false;
}
//输出
return VerifiOutput(l, i);
}
}
}
下面是代码二
function ErrorValidator(TextBoxID) {
for (var i = 0; i < TextBoxIDArray.length; i++) {
if (TextBoxIDArray[i] == TextBoxID) //改变的地方一
{
var TextBoxValues = document.getElementById(TextBoxIDArray[i]).value; //获得需要验证的文本框的内容
var l; //验证的结果
if (SpecialTextBoxID[i] == 0) { //改变的地方二
l = Rule(TextBoxRuleArray[i], TextBoxValues); //执行正则表达式