起因
項目中寫了一個函數:判斷數組,如果有不符合的地方,就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){
後續處理。。
}
}