Math 和 Date
Math 和 Date
Math
Math 是一个内置对象,它拥有一些数学常数属性和数学函数方法。Math 不是一个函数对象。Math 用于 Number 类型。它不支持 BigInt。
Math 的属性
Math.E:欧拉常数,也是自然对数的底数,约等于 2.718。Math.LN2:2 的自然对数,约等于 0.693。Math.LN10:10 的自然对数,约等于 2.303。Math.LOG2E:以 2 为底的 E 的对数,约等于 1.443。Math.LOG10E:以 10 为底的 E 的对数,约等于 0.434。Math.PI:圆周率,一个圆的周长和直径之比,约等于 3.14159。Math.SQRT1_2:二分之一的平方根,同时也是 2 的平方根的倒数,约等于 0.707。Math.SQRT2:2 的平方根,约等于 1.414
Math 的方法
Math.abs(x):返回一个数的绝对值。Math.max([x[, y[, …]]]):返回零到多个数值中最大值。Math.min([x[, y[, …]]]):返回零到多个数值中最小值。Math.random():返回一个 0 到 1 之间的伪随机数。Math.ceil(x):返回大于一个数的最小整数,即一个数向上取整后的值。Math.floor(x):返回小于一个数的最大整数,即一个数向下取整后的值。Math.round(x):返回四舍五入后的整数。Math.sign(x):返回一个数的符号,得知一个数是正数、负数还是 0。Math.trunc(x):返回一个数的整数部分,直接去除其小数点及之后的部分。方根运算
Math.sqrt(x):返回一个数的平方根。Math.cbrt(x):返回一个数的立方根。Math.pow(x, y):返回一个数的 y 次幂。Math.hypot([x[, y[, …]]]):返回其所有参数平方和的平方根。Math.exp(x):返回欧拉常数的参数次方,E^x,其中 x 为参数,E 是欧拉常数(2.718...,自然对数的底数)。Math.expm1(x):返回exp(x) - 1的值。
对数函数方法
Math.log(x):返回一个数的自然对数(㏒e,即 ㏑)。Math.log1p(x):返回一个数加 1 的和的自然对数(㏒e,即 ㏑)。Math.log10(x):返回一个数以 10 为底数的对数。Math.log2(x):返回一个数以 2 为底数的对数。
三角函数方法
三角函数
sin()、cos()、tan()、asin()、acos()、atan()和atan2()返回的值是弧度而非角度。若要转换,弧度除以(Math.PI / 180)即可转换为角度,同理,角度乘以这个数则能转换为弧度。Math.sin(x):返回一个数的正弦值。Math.cos(x):返回一个数的余弦值。Math.tan(x):返回一个数的正切值。Math.asin(x):返回一个数的反正弦值。Math.acos(x):返回一个数的反余弦值。Math.atan(x):返回一个数的反正切值。Math.sinh(x):返回一个数的双曲正弦值。Math.cosh(x):返回一个数的双曲余弦值。Math.tanh(x):返回一个数的双曲正切值。Math.asinh(x):返回一个数的反双曲正弦值。Math.acosh(x):返回一个数的反双曲余弦值。Math.atanh(x):返回一个数的反双曲正切值。Math.atan2(y, x):返回 y/x 的反正切值。
其他
Math.clz32(x):返回一个 32 位整数的前导零的数量。Math.fround(x):返回最接近一个数的单精度浮点型表示。Math.imul(x, y):返回 32 位整数乘法的结果。Math.toSource():返回字符串 "Math"。
Date
创建一个 JavaScript Date 实例,该实例呈现时间中的某个时刻。Date 对象则基于 Unix Time Stamp,即自 1970 年 1 月 1 日(UTC)起经过的毫秒数。
new Date() 构造函数
当一个参数被传递给 Date() 构造函数时,所有其他的值都被转换为原始值。如果结果是一个字符串,它将被解析为一个日期字符串。否则,产生的会被进一步强制转换为数值,并被视为时间戳。
new Date()如果没有提供参数,创建的
Date对象表示实例化时刻的日期和时间。new Date(value)value是一个 Unix 时间戳(Unix Time Stamp),它是一个整数值,表示自 1970 年 1 月 1 日 00:00:00 UTC(the Unix epoch)以来的毫秒数,忽略了闰秒。new Date(dateString)dateString表示日期的字符串值。dateString字符串应该能被Date.parse()正确方法识别,一定要确保输入符合 ISO 8601 格式(YYYY-MM-DDTHH:mm:ss.ssZ)。仅有日期的字符串(例如 "1970-01-01")被视为 UTC,而日期时间的字符串(例如 "1970-01-01T12:00")被视为本地时间。new Date(dateObject)一个现有的
Date对象。实际上是在现有的Date对象上复制了一个相同的日期和时间。这等同于new Date(dateObject.valueOf()),除了不调用valueOf()方法。new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]):year:表示年的整数。从 0 到 99 的值映射了 1900 到 1999 年。其他值对应真实的年份。monthIndex:表示月份的整数,从代表一月的 0 开始到代表十二月的 11 结束。day:可选值。表示一个月中第几天的整数。默认为 1。hours:可选值。表示一天中的小时数的整数值,在 0 到 23 之间。默认值为 0。minutes:可选值。表示时间的分钟段的整数值。默认为小时后的 0 分钟。seconds:可选值。表示时间的秒数段的整数值。默认为分钟后的 0 秒。milliseconds:可选值。表示时间的毫秒段的整数值。默认为 0 毫秒的秒数。
至少提供一个年份和月份,这种形式的
Date()返回一个Date对象,其组成部分的值(年、月、日、小时、分钟、秒和毫秒)都来自提供的参数。任何缺失的字段都被赋予可能的最低值(day 为 1,其他所有组件为 0)。如果任何参数超过其定义的范围,会发生“进位”。 例如:
- 如果传入一个大于 11 的
monthIndex,月将导致年的递增;例如:new Date(1990, 12, 1)将返回 1991 年 1 月 1 日。 - 如果传入一个大于 59 的
minutes,hours将相应递增,等等。例如:new Date(2020, 5, 19, 25, 65)将返回 2020 年 6 月 20 日凌晨 2:05。
如果任何参数不足其定义的范围,会从高位“借位”。 例如:
new Date(2020, 5, 0)将返回 2020 年 5 月 31 日。
Date 的属性和方法
Date.prototype:允许为Date对象添加属性。Date.length:Date.length的值是7。这是该构造函数可接受的参数个数。Date.now():返回自 1970-1-1 00:00:00 UTC(世界标准时间)至今所经过的毫秒数。Date.parse():解析一个表示日期的字符串,并返回从 1970-1-1 00:00:00 所经过的毫秒数。
Date 实例方法
Date.prototype.valueOf():返回一个 Date 对象的原始值。覆盖了 Object.prototype.valueOf() 方法。to 类的方法(格式化日期)
Date.prototype.toString():返回一个字符串,表示该 Date 对象。覆盖了Object.prototype.toString()方法。Date.prototype.toDateString():以美式英语和人类易读的表述形式返回一个 Date 对象日期部分的字符串。Date.prototype.toTimeString():以人类易读形式返回一个 Date 对象时间部分的字符串,该字符串以美式英语格式化。Date.prototype.toLocaleString():返回一个表述指定 Date 对象的字符串。该字符串格式因不同语言而不同。Date.prototype.toLocaleDateString():返回一个表述指定 Date 对象的日期部分字符串。该字符串格式因不同语言而不同。Date.prototype.toLocaleTimeString():返回一个表述指定 Date 对象时间部分的的字符串。该字符串格式因不同语言而不同。Date.prototype.toJSON():返回指定 Date 对象调用toISOString()方法的返回值。在JSON.stringify()中使用。Date.prototype.toISOString():将指定 Date 对象转换成 ISO 格式表述的字符串并返回。Date.prototype.toUTCString():使用 UTC 时区,把一个 Date 对象转换为一个字符串。
get 类方法(访问日期)
Date.prototype.getTime():返回一个数值,表示从 1970 年 1 月 1 日 0 时 0 分 0 秒(UTC,即协调世界时)距离该 Date 对象所代表时间的毫秒数。(更早的时间会用负数表示)Date.prototype.getFullYear():根据本地时间,返回一个指定的 Date 对象的完整年份(四位数年份)。Date.prototype.getMonth():根据本地时间,返回一个指定的 Date 对象的月份(0–11),0 表示一年中的第一月。Date.prototype.getDate():根据本地时间,返回一个指定的 Date 对象为一个月中的哪一日(1-31)。Date.prototype.getHours():根据本地时间,返回一个指定的 Date 对象的小时(0–23)。Date.prototype.getMinutes():根据本地时间,返回一个指定的 Date 对象的分钟数(0–59)。Date.prototype.getSeconds():根据本地时间,返回一个指定的 Date 对象的秒数(0–59)。Date.prototype.getMilliseconds():根据本地时间,返回一个指定的 Date 对象的毫秒数(0–999)。Date.prototype.getDay():根据本地时间,返回一个指定的 Date 对象是在一周中的第几天(0-6),0 表示星期天。Date.prototype.getTimezoneOffset():返回协调世界时(UTC)相对于当前时区的时间差值,单位为分钟。Date.prototype.getUTCFullYear():以协调世界时为标准,返回一个指定的 Date 对象的完整年份(四位数年份)。Date.prototype.getUTCMonth():以协调世界时为标准,返回一个指定的 Date 对象的月份(0–11),0 表示一年中的第一月。Date.prototype.getUTCDate():以协调世界时为标准,返回一个指定的 Date 对象为一个月中的哪一日(1-31)。Date.prototype.getUTCHours():以协调世界时为标准,返回一个指定的 Date 对象的小时(0–23)。Date.prototype.getUTCMinutes():以协调世界时为标准,返回一个指定的 Date 对象的分钟数(0–59)。Date.prototype.getUTCSeconds():以协调世界时为标准,返回一个指定的 Date 对象的秒数(0–59)。Date.prototype.getUTCMilliseconds():以协调世界时为标准,返回一个指定的 Date 对象的毫秒数(0–999)。Date.prototype.getUTCDay():以协调世界时为标准,返回一个指定的 Date 对象是在一周中的第几天(0-6),0 表示星期天。Date.prototype.getYear():根据本地时间,返回一个指定的 Date 对象的相对年份(相对 1900 年,通常是 2 到 3 位数字)。请改用getFullYear。
set 类方法(设置日期)
Date.prototype.setTime():用一个从 1970-1-1 00:00:00 UTC 计时的毫秒数来为一个 Date 对象设置时间。用负数来设置更早的时间。Date.prototype.setFullYear():根据本地时间,设置一个 Date 对象的完整年份(四位数年份)。Date.prototype.setMonth():根据本地时间,设置一个 Date 对象的月份。Date.prototype.setDate():根据本地时间,设置一个 Date 对象在所属月份中的天数。Date.prototype.setHours():根据本地时间,设置一个 Date 对象的小时数。Date.prototype.setMinutes():根据本地时间,设置一个 Date 对象的分钟数。Date.prototype.setSeconds():根据本地时间,设置一个 Date 对象的秒数。Date.prototype.setMilliseconds():根据本地时间,设置一个 Date 对象的豪秒数。Date.prototype.setUTCFullYear():以协调世界时为标准,设置一个 Date 对象的完整年份(四位数年份)。Date.prototype.setUTCMonth():以协调世界时为标准,设置一个 Date 对象的月份。Date.prototype.setUTCDate():以协调世界时为标准,设置一个 Date 对象在所属月份中的天数。Date.prototype.setUTCHours():以协调世界时为标准,设置一个 Date 对象的小时数。Date.prototype.setUTCMinutes():以协调世界时为标准,设置一个 Date 对象的分钟数。Date.prototype.setUTCSeconds():以协调世界时为标准,设置一个 Date 对象的秒数。Date.prototype.setUTCMilliseconds():以协调世界时为标准,设置一个 Date 对象的豪秒数。Date.prototype.setYear():根据本地时间,设置一个 Date 对象的相对年份(相对 1900 年,通常是 2 到 3 位数字)。请改用setFullYear。
