Math 对象
Date对象
JSON 对象
Math 对象
Math.max(),Math.min()
Math.max
方法返回参数之中最大的那个值,Math.min
返回最小的那个值。如果参数为空, Math.min
返回Infinity
, Math.max
返回-Infinity
。
1 | Math.max(2, -1, 5) // 5 |
Math.floor(),Math.ceil()
Math.floor
方法返回小于或等于参数值的最大整数(地板值)。
1 | Math.floor(3.2) // 3 |
Math.ceil
方法返回大于或等于参数值的最小整数(天花板值)。
1 | Math.ceil(3.2) // 4 |
这两个方法可以结合起来,实现一个总是返回数值的整数部分的函数。
1 | function ToInteger(x) { |
上面代码中,不管正数或负数,ToInteger
函数总是返回一个数值的整数部分。
Math.round()
Math.round
方法用于四舍五入。
1 | Math.round(0.1) // 0 |
注意,它对负数的处理(主要是对0.5
的处理)。
1 | Math.round(-1.1) // -1 |
Math.random()
Math.random()
返回0到1之间的一个伪随机数,可能等于0,但是一定小于1。
1 | Math.random() // 0.7151307314634323 |
任意范围的随机数生成函数如下。
1 | function getRandomArbitrary(min, max) { |
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 | Date.parse('Aug 9, 1995') |
JSON 对象
JSON.stringify()
方法用于将一个值转为 JSON 字符串。该字符串符合 JSON 格式,并且可以被JSON.parse()
方法还原。
1 | JSON.stringify('abc') // ""abc"" |
JSON.parse()
方法用于将 JSON 字符串转换成对应的值。1
2
3
4
5
6
7
8JSON.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
5try {
JSON.parse("'String'");
} catch(e) {
console.log('parsing error');
}