zoukankan      html  css  js  c++  java
  • 与操作也能这么用

    我在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);
            }

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

    作者:管宇

    欢迎转载,请标明出处。

  • 相关阅读:
    vim编辑器
    centos7启动顺序加密的问题
    centos7进入单用户模式
    centos7修改默认运行级别的变化
    C#构建DataTable(转)
    策略模式简介
    简单工厂模式(转)
    NPOI导Excel样式设置(转)
    VS2012启用angularjs智能提示Intelligence
    WebForm页面间传值方法(转)
  • 原文地址:https://www.cnblogs.com/winner2009/p/1818919.html
Copyright © 2011-2022 走看看