zoukankan      html  css  js  c++  java
  • 一个简单的参数校验类

    当我们写js的重载函数的时候,我们需要判断不同的输入情况。

    而,一般我们是根据参数的个数来判断的,但是,常常情况并非如此:

    function abc(a,b,c)

    a:string

    b:number

    c:boolean

    或者

    a:string

    b:string

    c:number

    这两种情况都是参数个数为3,但是参数类型却完全不同。如何的方便的构建一个重载函数呢?

    用我的类即可:

    类代码(很简短):

    var Param = {
        varify: function (oParam, sParamType) {
            var arrParam = sParamType.split(",");
            if (arrParam.length == oParam.length) {
                for (var nIndex = 0; nIndex < oParam.length; nIndex++) {
                    if (typeof oParam[nIndex] != String(arrParam[nIndex]).toLowerCase()) {
                        return false;
                    }
                }
                return true;
            } else {
                return false;
            }
        }
    };

    应用案例代码:

    function modify(s) {
        switch (true) {
            case Param.varify(arguments, "string,string,number"):
                alert(arguments[0] + " " + arguments[1] + "=" + arguments[2].toString());
                break;
            case Param.varify(arguments, "string,string"):
                alert("Fist Name:"+arguments[1] + "
    Last Name:" + arguments[0]);
                break;
            default:
                alert("nothing");
        }
    }
    
    modify("Michael", "Jackson");
    
    modify("Michael", "Jackson",5);
    
    modify("Michael", "Jackson","King Of Pop");

    运行示例代码即可体会快感!

  • 相关阅读:
    vue过滤器filters
    vue指令
    java命令
    mysql的information_schema表
    es6 Object的keys values entries方法
    mysql information_schema.INNODB_TRX
    流动相似性例子
    【转】time 模块详解(时间获取和转换)
    查找——平衡二叉树的实现(代码超详细注释)
    py中变量名的“秘密”
  • 原文地址:https://www.cnblogs.com/sunsoftresearch/p/3850141.html
Copyright © 2011-2022 走看看