• 一个简单的参数校验类


    当我们写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");

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

  • 相关阅读:
    算法
    如果业界中不用高级算法和数据结构,那为什么还要学?
    CentOS 7 运行级别切换
    ECharts笔记
    Vue+TypeScript学习
    TypeScript深入学习
    TypeScript基础
    检测数据类型的方法
    前端提高性能的方式
    柯里化
  • 原文地址:https://www.cnblogs.com/sunsoftresearch/p/3850141.html
Copyright © 2020-2023  润新知