用变量构造函数检查变量类型

//用一个变量类型列表严格检查一个参数列表
function strict(types,args){
//保证参数的数量和类型的数量匹配
if(types.length !== args.length){ throw '变量类型列表长度:'+types.length+'和参数列表长度:'+args.length+'不相等' ; }
//遍历所有参数,检查它们的类型
for(var i=0,len=args.length; i<len; i++ ){ if(args[i].constructor != types[i]){ throw args[i]+'不是'+types[i].name+'类型'; } } }

//输出列表的函数
function ulList(str,num,array){
//检查参数类型,str必须为字符串,num必须为数字型,array必须为数组 strict([String,Number,Array],arguments);
for(var i=0; i<num; i++){ console.log(str+':'+array[i]); } } ulList('list',6,['a','b','c','d','e','f']);
输出:
list:a
list:b
list:c
list:d
list:e
list:f

 

 

posted @ 2016-09-14 12:54  王永峰的博客  阅读(318)  评论(0编辑  收藏  举报