一个简单的参数校验类

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

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

一个简单的参数校验类

时间: 2024-10-23 14:53:03

一个简单的参数校验类的相关文章

PHP实现的一个简单的数据库操作类(修改版)

PHP实现的一个简单的数据库操作类 实现的功能: - 在实例化的时候能设置连接字符集 - 在实例化的时候能连接数据库 - 在实例化的时候能选择默认数据库 - 销毁对象时关闭数据库 代码如下: <?php // 数据库操作类MySQLDB class MySQLDB { // 声明属性 private $server; private $port; private $username; private $password; public $default_db; private $charset;

PHP实现的一个简单的数据库操作类

PHP实现的一个简单的数据库操作类 实现的功能: - 在实例化的时候能设置连接字符集 - 在实例化的时候能连接数据库 - 在实例化的时候能选择默认数据库 - 销毁对象时关闭数据库 代码如下: <?php // 数据库操作类MySQLDB class MySQLDB { // 声明属性 private $server; private $username; private $password; public $default_db; public $link; // 声明构造函数 public f

编写一个简单的正则表达式工具类

跟着视频的讲解,也亲手敲了这么一个正则表达式的类,感觉很不错,真是温故而知新,本来想把注释写的逼格高一点的,今天晚了有点累,先简单的写一下,有时间了再完善完善. <?php class regexTool{ //内置一些常用的正则表达式 private $validate = array( 'require'   =>  '/.+/', 'email'     =>  '/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/', 'url'    

一个简单实现的string类

为了复习c++知识,简单的实现一个string类,类名为CMyString 环境说明:windows 7 64位 开发工具:Visual Studio 2015 CMyString类的头文件CMyString.h 1 #include <iostream> 2 3 #ifndef __C_MY_STRING__ 4 #define __C_MY_STRING__ 5 6 class CMyString 7 { 8 public: 9 //默认构造函数 10 CMyString(); 11 //

一个简单实用的log类

自己写一些小代码的时候总是用fprintf来写log,感觉这样不太科学,还是写一个通用的简单带log level的log类,以后就拿来复用吧.这个类实现了非常简单的功能:如果指定了log文件path和name创建一个log文件,并将各种level的写入文件中,否则都打印到屏幕,格式如下: [DEBUG] : xxxxx [WARN] : xxxx [MSG] : xxxxx 代码: //--------------log.h---------------------- #ifndef __LOG

一个简单的通用验证类的实现

进园子三年多了,从来都只是看各位大神的文章,而没有写过,今天心血来潮来写一篇,本人水平略浅,写得不好勿见怪,大神勿喷 首先定义一个验证类型枚举,这里只列出最简单的两种验证类型 1 /// <summary> 2 /// 验证类型枚举 3 /// </summary> 4 public enum ValidateType 5 { 6 /// <summary> 7 /// 不为NULL验证 8 /// </summary> 9 NotNullValidate,

一个简单的redis调用类

能只能判断函数的调用规则,容错规则, 例如set函数 set($key, $value, $time = false) 根据time的真假来判断是否使用set,或者是setex函数 get函数 get($key, $json_decode = true) 根据json_decode来判断是否返回字符串或者是数组,默认返回数组 同时定义一个 private $tags = array( 'set'=>'set', 'setx'=>'set', ) 类内部使用魔术方法__call($name,$a

一个简单的php分页类代码(转载)

入门级php分页类 原文地址:http://www.xfcodes.com/php/fenye/3608.htm 时间:2015-12-16 20:52:00来源:网络 php分页类. 复制代码代码如下: <?php/** 快速php分页类***/class Page{    private $totalpage;    private $stride;    private $currentpage;    //设置总页数    function setTotalpage($objpage=1

一个简单的Hibernate工具类HibernateUtil

HibernateUtil 1 package com.wj.app.util; 2 3 import org.hibernate.Session; 4 import org.hibernate.SessionFactory; 5 import org.hibernate.cfg.Configuration; 6 import org.hibernate.service.ServiceRegistry; 7 import org.hibernate.service.ServiceRegistry