jQuery中each非常好用,除常用它取代javascript的for循环
但是我在今天写javascript的时候,
在一个function里有一个each,在each里某种条件 成立的话,就把这个function返回true或者false
function methodone(){
....
$.each(array,function(){
if(条件成立){
return true;
}
});
....
}
如果发现老是不对。
后来查找资料才发现,在each代码块内不能使用break和continue,要实现break和continue的功能的话,要使用其它的方式
break----用return false;
continue --用return ture;
所以当我在each里想使用return true给这个function返回时,其实只是让each继续执行而以
连each都没有中断,所以function也就不能return了
如果想要使用return终止方法的话,要用try catch 方式,代码如下:
- try{
- $(":input[name='barcode']").each(function(index, element) {
- var barcode = trim($(this).val());
- var matnr = trim($(this).parent().parent().find("#matnr").html()) +'';
- var batchcode = trim($(this).parent().parent().find("#batchcode").html())+'';
- var itemText = matnr + batchcode;
- if(barcode != itemText){
- //alert('barcode:' + barcode + '实际信息:' + itemText);
- alert('请核对 物料号为 '+matnr+',批次号为 '+batchcode+'成品的条形码!');
- throw('')
- }
- );
- }catch(e){
- return; //在这里return
- }