jQuery中each的continue 和 break

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
	    }


 

 

posted on 2012-07-27 10:16  babyblue  阅读(156)  评论(0)    收藏  举报