Web21.Math&数组&Date

单体内置对象

ECMA-262对内置对象的定义是: 由ECMAScript实现提供的、不依赖于
宿主环境的对象,这些对象在ECMAScript程序执行之前就已经存在了。

意思是:开发人员不必显式地实例化内置对象,一位它们已经实例化了。
Globa和Math是两个单体内置对象

Math对象

Math对象是JavaScript的内置对象,提供一系列数学常数和数学方法,
Math对象只提供了静态的属性和方法,所以使用时不用实例化
直接 Math.xxx

Math.round()   //四舍五入
Math.round(0.1)
Math.round(0.5)

Math.abs()  //绝对值
Math.abs(1)

Math.max()
Math.max(2, -1, 5) //5

Max.min()
Math.min(2, -1, 5)   //-1

Math.floor()       //floor方法返回小于参数值的最大整数
Math.floor(3.2)  //3
Math.floor(-3.2) //-4

Math.ceil      //ceil方法返回大于参数值的最小整数
Math.ceil(3.2)  //4
Math.ceil(-3.2)  //-3

Math.pow   //pow方法返回以第一个参数为底数、第二个参数
                  //为幂的指数值
Math.pow(2, 2)  //4
Math.pow(2, 3)  //8

Math.sqrt   //sqrt方法返回参数值的平方根,如果参数是一个负值,
                  //则返回NaN
Math.sqrt(4)  //2
Math.sqrt(-4)  //NaN

Math.random()方法  //返回大于等于0大于1的随机数
对于某些站点来说,这个方法非常实用,因为可以利用
它来随机显示一些名人名言和新闻事件


//得到[a,b)随机数
function random(a, b){
    return a + Math.floor(Math.random()*(b-a))
}


//得到一个随机字符串
function randomStr(len) {
    var dict = '0123456789abcdefghijklmnopqrstuvwxyz'
    var str = ' '
    for(var i = 0; i < len; i++){
        str += dict[random(0,36)]
    }
    return str
}

//得到一个随机IP地址 0.0.0.0 ~ 255.255.255.255
function randomIP(len) {
    var arr = []
    for(var i = 0; i < 4; i++){
        arr.push(random(0, 256))
    }
    return arr.join('.')
}

Array类型

除了Object之外,Array类型恐怕是ECMAScript中最常用的类型了,而且
ECMAScript中的数组与其他多数语言中的数组有着很大的区别,虽然ECMAScript数组与其他语言中的数组都是数据的有序列表,但与其他语言
不同的是,ECMAScript数组的每一项可以保存任何类型的数据。也就是说,
可以用数组的第一个位置来保存字符串,用第二位置来保存数值,用第三个
位置来保存对象,以此类推,而且,ECMAScript数组的大小是可以动态调整的,即可以随着数据的添加自动增长以容纳新增数据。

Math任务

1.写一个函数,返回从min到max之间的 随机整数,包括min不包括max
2.写一个函数,返回从min都max之间的 随机整数,包括min包括max
3.写一个函数,生成一个长度为 n 的随机字符串,字符串字符的取值范围包括0到9,a到 z,A到Z。
4.写一个函数,生成一个随机 IP 地址,一个合法的 IP 地址为 0.0.0.0~255.255.255.255
5.写一个函数,生成一个随机颜色字符串,合法的颜色为#000000~ #ffffff

数组任务

1.数组方法里push、pop、shift、unshift、join、splice分别是什么作用?用 splice函数分别实现push、pop、shift、unshift方法
2.写一个函数,操作数组,数组中的每一项变为原来的平方,在原数组上操作
3.写一个函数,操作数组,返回一个新数组,新数组中只包含正数,原数组不变

Date任务

1.写一个函数getChIntv,获取从当前时间到指定日期的间隔时间
2.把hh-mm-dd格式数字日期改成中文日期
3.写一个函数,参数为时间对象毫秒数的字符串格式,返回值为字符串。假设参数为时间对象毫秒数t,根据t的时间分别返回如下字符串:
刚刚( t 距当前时间不到1分钟时间间隔)
3分钟前 (t距当前时间大于等于1分钟,小于1小时)
8小时前 (t 距离当前时间大于等于1小时,小于24小时)
3天前 (t 距离当前时间大于等于24小时,小于30天)
2个月前 (t 距离当前时间大于等于30天小于12个月)
8年前 (t 距离当前时间大于等于12个月)

你可能感兴趣的:(Web21.Math&数组&Date)