码迷,mamicode.com
首页 > 其他好文 > 详细

一个简单的参数校验类

时间:2014-07-18 21:15:54      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   for   

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

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

一个简单的参数校验类,布布扣,bubuko.com

一个简单的参数校验类

标签:style   blog   color   os   io   for   

原文地址:http://www.cnblogs.com/sunsoftresearch/p/3850141.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!