与操作也能这么用

 

我在jquery  上看到的一个使用&&操作的例子(在jquery-ui 下面 demos/dialog/modal-form中),感觉不错,这是我的实现,如下:

 

场景:

  假如我们有两个文本框需要验证非空。

代码:

  

代码
 1 
 2  // validUserName  validPwd 是两个div,分别显示错误信息,通常我们放在用户名和密码这两个文本框的的后面。
 3 
 4  function  register() {
 5 
 6               var  userName  =  $( ' #txtUserName ' ).val();
 7               var  pwd  =  $( ' #txtPasword ' ).val();
 8 
 9               var  bValid  =   true ;
10             
11              bValid  =  bValid  &&  checkNull(userName,  " 用户名 " " validUserName " );            
12              bValid  =  bValid  &&  checkNull(pwd,  " 密码 " " validPwd " );
13              
14                          
15               if  (bValid) {
16                   return   true ;
17              }
18               else  {
19                   return   false ;
20              }
21          }

 

 

我们可以看到第11 12行,  也就是说只要 checkNull ()函数为返回假,我们开始定义的bValid 求与后也会为假。即整个函数返回假。

 

其实这也没有什么,我们完全可以使用if  else 来解决。但是问题来了如果有很多的文本框需要验证,那是不是会需要很多的if else啊。

 

使用&&就没有这么麻烦了 我们完全可以在 第12行下面 写 bValid = bValid && checkNull(pwd, "邮件""......") 等等很多都可以。

 

 

代码
         function  checkNull(t, n, obj) {

            
if  (t  ==   "" ) {
                updateTips(
" 忘填 "   +  n  +   " 了吧! " ,obj);
                
return   false ;
            } 
else  {
            updateTips(
"" ,obj);
                
return   true ;
            }

        }

        
function  updateTips(t, obj) {
            
var  tips  =  $( " # "   +  obj);
            tips.text(t);
        }

 

 

看起来复杂了,但是心里更清楚了。这难道就是重构的结果?

 

 

你可能感兴趣的:(操作)