0%

Js Math 对象 && Date对象

Math 对象
Date对象
JSON 对象

Math 对象

Math.max(),Math.min()

Math.max方法返回参数之中最大的那个值,Math.min返回最小的那个值。如果参数为空, Math.min返回Infinity, Math.max返回-Infinity

1
2
3
4
Math.max(2, -1, 5) // 5
Math.min(2, -1, 5) // -1
Math.min() // Infinity
Math.max() // -Infinity

Math.floor(),Math.ceil()

Math.floor方法返回小于或等于参数值的最大整数(地板值)。

1
2
Math.floor(3.2) // 3
Math.floor(-3.2) // -4

Math.ceil方法返回大于或等于参数值的最小整数(天花板值)。

1
2
Math.ceil(3.2) // 4
Math.ceil(-3.2) // -3

这两个方法可以结合起来,实现一个总是返回数值的整数部分的函数。

1
2
3
4
5
6
7
8
9
10
11
function ToInteger(x) {
x = Number(x);
return x < 0 ? Math.ceil(x) : Math.floor(x);
}

ToInteger(3.2) // 3
ToInteger(3.5) // 3
ToInteger(3.8) // 3
ToInteger(-3.2) // -3
ToInteger(-3.5) // -3
ToInteger(-3.8) // -3

上面代码中,不管正数或负数,ToInteger函数总是返回一个数值的整数部分。

Math.round()

Math.round方法用于四舍五入。

1
2
3
4
5
6
Math.round(0.1) // 0
Math.round(0.5) // 1
Math.round(0.6) // 1

// 等同于
Math.floor(x + 0.5)

注意,它对负数的处理(主要是对0.5的处理)。

1
2
3
Math.round(-1.1) // -1
Math.round(-1.5) // -1
Math.round(-1.6) // -2

Math.random()

Math.random()返回0到1之间的一个伪随机数,可能等于0,但是一定小于1。

1
Math.random() // 0.7151307314634323

任意范围的随机数生成函数如下。

1
2
3
4
5
6
function getRandomArbitrary(min, max) {
return Math.random() * (max - min) + min;
}

getRandomArbitrary(1.5, 6.5)
// 2.4942810038223864

Date对象

  • Date.now()

Date.now方法返回当前时间距离时间零点(1970年1月1日 00:00:00 UTC)的毫秒数,相当于 Unix 时间戳乘以1000。

1
Date.now() // 1364026285194

Date.parse()

Date.parse方法用来解析日期字符串,返回该时间距离时间零点(1970年1月1日 00:00:00)的毫秒数。

日期字符串应该符合 RFC 2822 和 ISO 8061 这两个标准,即YYYY-MM-DDTHH:mm:ss.sssZ格式,其中最后的Z表示时区。但是,其他格式也可以被解析,请看下面的例子。

1
2
3
4
5
6
Date.parse('Aug 9, 1995')
Date.parse('January 26, 2011 13:51:50')
Date.parse('Mon, 25 Dec 1995 13:30:00 GMT')
Date.parse('Mon, 25 Dec 1995 13:30:00 +0430')
Date.parse('2011-10-10')
Date.parse('2011-10-10T14:48:00')

详情文档

JSON 对象

  • JSON.stringify()方法用于将一个值转为 JSON 字符串。该字符串符合 JSON 格式,并且可以被JSON.parse()方法还原。
1
2
3
4
5
6
7
8
9
10
11
JSON.stringify('abc') // ""abc""
JSON.stringify(1) // "1"
JSON.stringify(false) // "false"
JSON.stringify([]) // "[]"
JSON.stringify({}) // "{}"

JSON.stringify([1, "false", false])
// '[1,"false",false]'

JSON.stringify({ name: "张三" })
// '{"name":"张三"}'
  • JSON.parse()方法用于将 JSON 字符串转换成对应的值。

    1
    2
    3
    4
    5
    6
    7
    8
    JSON.parse('{}') // {}
    JSON.parse('true') // true
    JSON.parse('"foo"') // "foo"
    JSON.parse('[1, 5, "false"]') // [1, 5, "false"]
    JSON.parse('null') // null

    var o = JSON.parse('{"name": "张三"}');
    o.name // 张三

    为了处理解析错误,可以将JSON.parse()方法放在try...catch代码块中。

    1
    2
    3
    4
    5
    try {
    JSON.parse("'String'");
    } catch(e) {
    console.log('parsing error');
    }

doc 详情

------ 本文结束------

欢迎关注我的其它发布渠道