起因
项目中写了一个函数:判断数组,如果有不符合的地方,就return,结束函数;否则继续进行后续处理。
代码
function a(){
$("input[name='a[]']").each(function(){
var vid=$(this).val();
if (vid==null || vid==""){
alert("流量必须填写");
return false;
}
});
后续处理。
}
但是,我发现,这样写的话,就算数组return了以后,后续代码还是会继续执行。
原因
**for循环内的return,就是类似break。**不是函数返回。所以,要想达到中断效果,还是要加上一个flag之类的。
例如:
function a(){
var checkoutFlag = true;
$("input[name='a[]']").each(function(){
var vid=$(this).val();
if (vid==null || vid==""){
alert("流量必须填写");
checkoutFlag=false;
return false;
}
});
if(checkoutFlag==true){
后续处理。。
}
}