jQuery中each的continue 和 break

来源:互联网 发布:永宏plc最新编程软件 编辑:程序博客网 时间:2024/04/29 18:49

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 方式,代码如下:

[javascript] view plaincopy
  1.   try{  
  2.           $(":input[name='barcode']").each(function(index, element) {  
  3.     var barcode = trim($(this).val());  
  4. var matnr = trim($(this).parent().parent().find("#matnr").html()) +'';  
  5. var batchcode = trim($(this).parent().parent().find("#batchcode").html())+'';  
  6. var itemText = matnr  + batchcode;  
  7.           
  8. if(barcode != itemText){  
  9.     //alert('barcode:' + barcode + '实际信息:' + itemText);  
  10.     alert('请核对 物料号为 '+matnr+',批次号为 '+batchcode+'成品的条形码!');  
  11.     throw('')  
  12. }  
  13.                   
  14. );  
  15.   }catch(e){                              
  16. return//在这里return  
  17.    }  
0 0
原创粉丝点击