Kevin's Java Life

喝一杯咖啡,生活变得从容和清新
随笔 - 3, 文章 - 12, 评论 - 1, 引用 - 0
数据加载中……

do...while(false)的妙用

今天从Java自由人看到一篇Blog:do...while(false)的探讨,刚好解决了一直困扰我的一个小麻烦
经常会遇到这样的情况,一大段代码,中间遇到某种情况,比如someObj == null,需要跳出这段代码,但是又不在循环之中,只好处理成这样:
if(someObj != null){
  
//doSomething
  
  
if(someOther fit someCondition){
    
  }

}
最后造成一大堆括号,写起来不舒服,可读性也很差。

巧用do...while(false)可以解决这个问题,看下面的代码:
function LTrim(s){
  
try{
    
do{
      
if(null==s||s.length<=0)
        
break;
      
var whitespace=" \t\r\n";
      
if(whitespace.indexOf(s.charAt(0))>=0){
        
var len=s.length;
        
var index;
        
for(index=0;index  if(whitespace.indexOf(s.charAt(index))<0)
            
break;
        
if(index s=s.substring(index);
        
else s="";
      }
    }
while(false);
  }
catch(Ab){
  s
="";
  }
  
return s;
}


这个函数是用来去掉字符串前端的空白。使用do...while(false)的用意就在于在do{}的过程中可以break,使得函数唯一的出口就是最后一行的return。
嗯,这是一个不错的方法。以后可以采用,避免过多的嵌套括号。
(以上部分摘抄Blog:do...while(false)的探讨)

posted on 2005-03-24 11:13 Kevin 阅读(2002) 评论(0)  编辑  收藏 所属分类: 编程技巧


只有注册用户登录后才能发表评论。


网站导航: