今天看到一道题目,说是为什么自己前端不值钱?然后还不怎么相信,就试着做了做题目,然后。。。。。。
好吧,经过,30分钟的磨合,写出了一些健壮的代码
function c(n){
//判断数组里是否包含一个某一项值
function contains(arr,item){
var flag=false;
for(var i=0;i<arr.length;i++){
if(arr[i]==item){
flag=true;
}
}
return flag;
}
//创建随机数组
function arrCreate(arr,n){
while(arr.length<n){
//随机整数(2,32)
item=Math.floor(Math.random()*(32-2)+2)
if(!contains(arr,item)){
arr.push(item);
}
}
}
//判断参数类型
function type(n){
var class2type = {}
var objs = "Boolean Number String Function Array Date RegExp Null Undefined".split(" ");
for (var i = 0, l = objs.length; i < l; i++) {
class2type[ "[object " + objs[i] + "]" ] = objs[i].toLowerCase();
}
return class2type[Object.prototype.toString.call(n)];
}
var arr=[];
if(type(n)!='number'){
throw("您传入的不是数字类型请传入数字类型的参数")
}
arrCreate(arr,n);
return arr;
}
console.log(c(5));
判断参数类型的时候我利用的jquery源码里的东西进行