// IE 下 name 都是 undefined ,这里手动赋值
Number.name="Number";
//String.name="String";
Function.name="Function";
Object.name="Object";
Array.name="Array";
Boolean.name="Boolean"; // 函数 用来严格维护传入函数的所有参数
function strict(types,args){
if(types.length != args.length){
// 抛出异常
throw "参数长度不正确:需要长度 " + types.length + ",实际长度 " + args.length;
}
// 遍历所有参数,检查它们的类型
for(var i = 0;i<args.length;i++){
if(args[i].constructor != types[i]){
throw "参数类型不正确:需要类型 " + types[i].name + ",实际类型 " + args[i].constructor.name;
}
}
} // 调用
function userList(prefix,num,users){
try{
strict([String,Number,Array],arguments);
}
catch (ex){
alert(ex);
}
} // 尝试
userList('xx','yy',[1,2,3]);

[转][javascript]判断传入参数的更多相关文章

  1. Javascript 判断传入的两个数组是否相似

    任务描述: 请在index.html文件中,编写arraysSimilar函数,实现判断传入的两个数组是否相似.具体需求: 1. 数组中的成员类型相同,顺序可以不同.例如[1, true] 与 [fa ...

  2. 给JavaScript文件传入参数的几种方法

    一.利用全局变量 这是最简单的一种方式,比如Google Adsense: <script type="text/javascript"> google_ad_clie ...

  3. 【Linux_Shell 脚本编程学习知识点、判断传入参数是否是 整数】

    判断脚本传入的参数是否是整数 常用的几种方法 完整Shell 脚本如下: #!/bin/sh ##################################################### ...

  4. js 判断传入参数是域名还是地址

    var get = function(url) { if(location.protocol === "http") { return url; } var reg = /^(ht ...

  5. linux shell判断脚本执行时传入了多少个参数,判断脚本参数个数,参数数量

    需求描述: 在写shell脚本的时候,会有这样的需求,脚本在执行的过程中是需要传入参数的,如果没有参数传递给脚本, 就会给出相应的脚本使用方法或者例子,告知,脚本后面应该加什么样的参数.所以呢,这里要 ...

  6. JavaScript判断、循环、Map、Set

     本文是笔者在看廖雪峰老师JavaScript教程时的个人总结      一些判断条件                 JavaScript把null.undefined.0.NaN和空字符串''视为 ...

  7. MyBatis传入参数为集合、数组SQL写法

    参考:http://blog.csdn.net/small____fish/article/details/8029030 foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合 ...

  8. JavaScript判断数据类型总结

    最近做项目中遇到了一些关于javascript数据类型的判断处理,上网找了一下资料,并且亲自验证了各种数据类型的判断网页特效,在此做一个总结吧! 一.JS中的数据类型  1.数值型(Number):包 ...

  9. 使用JavaScript重定向URL参数

    本人从网上查找(如有雷同,不胜荣幸.),并进行了修改,简单粗暴,实现使用JavaScript重置url参数 1.字符拼接形式 function setUri(para, val) { var strN ...

随机推荐

  1. Shell脚本之无限循环的两种方法

    for #!/bin/bash ;i<;)) do let "j=j+1" echo "-------------j is $j ----------------- ...

  2. ffmpeg_资料_01

    1. 用ffmpeg制作推流工具,实现推流系统声音和桌面到rtmp服务器-CSDN论坛-CSDN.NET-中国最大的IT技术社区.html http://bbs.csdn.net/topics/392 ...

  3. SNMP:使用net-snmp捕捉trap

    管理端:172.18.0.135  win7系统     代理端:172.18.0.212    Debian7.2 前提:代理端已配置snmp,可正常实现用SNMP协议实现系统信息监控 1.管理端下 ...

  4. 如何获取Android应用的packageName和ActivityName,识别应用中的控件

    1.获取Android应用的packageName和ActivityName A:adb logcat >log.txt 在log中搜索package B:adb shell  logcat | ...

  5. uva10689矩阵快速幂

    #include<map> #include<set> #include<cmath> #include<queue> #include<stac ...

  6. freemarker多个checkbox一个以上被选中示例

    <tr> <td class="handColumn" colspan="5" > <#list deptHandNotConta ...

  7. POJ-3744-概率dp+矩阵幂(分段)

    Scout YYF I Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10214   Accepted: 2980 Desc ...

  8. 运行MySQL远程连接

    方法一:修改MySQL自带的“mysql”数据库中的“USER”表 USE mysql; UPDATE USER SET HOST='%' WHERE USER='root'; SELECT * FR ...

  9. Sizzle源码分析:三 筛选和编译

    好了有了之前的词法分析过程,现在我们来到select函数来,这个函数的整体流程,前面也大概说过: 1. 先做词法分析获得token列表 2. 如果有种子集合直接到编译过程 3. 如果没有种子集合并且是 ...

  10. Eclipse Oxygen SVN Connector Setup

    新版的Eclipse(Oxygen)安装完Subversive后,现时无法自动安装SVN Connector,无论选择哪个都会自动关闭. 解决方法: Help -> Install New So ...