math任务 1,写一个函数,返回从min到max之间的 随机整数,包括min不包括max f nction random(a,b) { ret rn a + math.floor(math.random*(b-a)) } 2,写一个函数,返回从min都max之间的 随机整数,包括min包括max f nction random(a,b+1) { ret rn a + math.floor(math.random*(b-a)) } 3,写一个函数,生成一个长度为 n 的随机字符串,字符串字符的取值范围包括0到9,a到 z,a到z. f nction random(a,b) { ret rn a + math.floor(math.random*(b-a)) } f nction randomstr(n){ var dict = "0qwerty iopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnm" var str = for(i = 0;i  n;i){ str += dict[random(0,62)] } ret rn str } randomstr(5) 4,写一个函数,生成一个随机 ip 地址,一个合法的 ip 地址为 ~ f nction random(a,b){ ret rn a + math.floor(math.random*(b-a)) } f nction randomip(len){ var arr = [] for(i=0;i4;i){ arr.p sh(random(0,256)) } ret rn arr.join( . ) } randomip 5,写一个函数,生成一个随机颜色字符串,合法的颜色为#000000~ #ffffff f nction random(a,b){ ret rn a + math.floor(math.random*(b-a)) } var dict = "0abcdef" f nction randomc(len){ var str = for(i=0;i6;i){ str += dict[random(0,16)] } ret rn # + str } randomc 数组 1,数组方法里p sh,pop,shift, nshift,join,splice分别是什么作用?用 splice函数分别实现p sh,pop,shift, nshift方法 *p sh方法的实现与pop方法的实现(栈方法)* var arr = [3,5,6] arr.p sh(8) 在数组末尾加上8,会输出数组的长度 arr.pop 拿出数组末尾数,输出数组末尾值 *shift方法的实现和 nshift的实现方法* var arr = [5,8,6] arr.shift 拿掉数组开始的数字,输出未拿掉数字前的数组长度 arr. nshift(8) 在其实位置加上数字,输出添加后的数组长度 *splice方法用于一次性解决数组添加,删除(这两种方法一结合就可以达到替换效果),方法有三个参数 1.开始索引 2.删除元素的位移 3.插入的新元素,当然也可以写多个(在索引位置前) splice方法返回一个由删除元素组成的新数组,没有删除则返回空数组* var arr = [4,8,6] arr.splice(1,0, 25, 56) console.log(arr)[4,25,56,8,6] *join( )将数组链接成字符串* var arr = [5,4,6] arr.join( - )"5-4-6" 用 splice函数分别实现p sh,pop,shift, nshift方法 var arr = [5,6,8] arr.splice(3,0, 9) 用splice实现p sh 起始位置为arr.length var arr = [5,6,8] arr.splice(2,1)实现pop 起始位置为arr.length-1,删除元素位移为1 var arr = [5,6,8] arr.splice(0,1)实现shift 起始位置为0,删除元素位移为1 var arr = [5,6,8] arr.splice(0,0, 4)实现 nshift 起始位置为0,删除元素位移为0,添加内容 2,写一个函数,操作数组,数组中的每一项变为原来的平方,在原数组上操作 f nction sq arearr(arr){ for(var i = 0;i  arr.length;i){ arr[i] = arr[i] * arr[i] }ret rn arr[i] } var arr = [2, 4, 6] sq arearr(arr) console.log(arr) 3,写一个函数,操作数组,返回一个新数组,新数组中只包含正数,原数组不变 f nction filterpositive(arr) { var newarr = [] var j = 0 for(var i = 0;i  arr.length;i) { if(typeof arr[i]  "n mber" && arr[i]  0){ newarr[j] = arr[i] j } }ret rn newarr } var arr = [3, -1, 2, 饥人谷 , tr e] var newarr = filterpositive(arr) console.log(newarr) console.log(arr) date 任务 1, 写一个函数getchintv,获取从当前时间到指定日期的间隔时间 f nction getchintv(datestr){ var targetdate = new date(datestr) var c rdate = new date var offset = math.abs(targetdate - c rdate) var totalseconds = math.floor(offset1000) var senond = totalseconds%60 var totalmins = math.floor(totalseconds60) var min = totalmins%60 var totalho rs = math.floor(totalmins60) var ho r = totalho rs%24 var day = math.floor(totalho rs24) ret rn day + 天 + ho r + 小时 + min + 分钟 + senond + 秒 } getchintv( 2017-8-23 ) 2,把hh-mm-dd格式数字日期改成中文日期 f nction getchsdate(date){ var dict = [ 零 , 一 , 二 , 三 , 四 , 五 , 六 , 七 , 八 , 九 , 十 , 十一 , 十二 , 十三 , 十四 , 十五 , 十六 , 十七 , 十八 , 十九 , 二十 , 二十一 , 二十二 , 二十三 , 二十四 , 二十五 , 二十六 , 二十七 , 二十八 , 二十九 , 三十 , 三十一 ] var arr = [] var newarr = date.split( - ) var year = newarr[0] for(var i = 0; i  year.length; i){ arr.p sh(dict[year[i) } arr.p sh("年") arr.p sh(dict[parseint(newarr[1],10)]) arr.p sh("月") arr.p sh(dict[parseint(newarr[2],10)]) arr.p sh("日") var newarr = arr.join( ) ret rn newarr } var str = getchsdate( 2015-01-08 ); console.log(str); 3,写一个函数,参数为时间对象毫秒数的字符串格式,返回值为字符串.