首页 > 代码库 > 一个简单的参数校验类

一个简单的参数校验类

当我们写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] + "\nLast Name:" + arguments[0]);            break;        default:            alert("nothing");    }}modify("Michael", "Jackson");modify("Michael", "Jackson",5);modify("Michael", "Jackson","King Of Pop");

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