JavaScript Math、Date


1、Math对象

JavaScript 有一个内建的 Math 对象,它包含了一个小型的数学函数和常量库, 它为数学常量和数学函数提供了属性和方法,而不是一个函数对象。

属性

  • Math.PI = > 圆周率,一个圆的周长和直径之比,悦等于3.14159.

  • Math.E = > 欧拉常数,自然对数的底数,约等于2.718.


舍入

舍入(rounding)是使用数字时最常用的操作之一。

这里有几个对数字进行舍入的内建函数:

1、Math.floor()

向下舍入:3.变成 3-1.1 变成 -2

2、Math.ceil()

向上舍入:3.1 变成 4-1.1 变成 -1

3、Math.round()

向最近的整数舍入:3.1 变成 33.6 变成 4-1.1 变成 -1

函数返回四舍五入到最接近整数的数字的值。

如果参数的小数部分大于0.5,则将参数舍入为具有下一个较高的绝对值的整数。如果小于0.5,则将参数舍入为具有较低绝对值的整数。如果小数部分正好是0.5,则参数将沿+∞方向舍入到下一个数。

例如:

 <script>
        console.log(Math.round(-5.5));
        // 输出-5
        console.log(Math.round(5.5));
        // 输出6
    </script>

 

4、Math.trunc(IE 浏览器不支持这个方法)

移除小数点后的所有内容而没有舍入:3.1 变成 3-1.1 变成 -1


1、Math.random()

返回一个从 0 到 1 的随机数(不包括 1

实例:

alert( Math.random() ); // 0.1234567894322
alert( Math.random() ); // 0.5435252343232
alert( Math.random() ); // ... (任何随机数)

如果需要一个n-m之间的数。

计算公式:

  Math.round(Math.random()*(m-n)+n)

实例:

 // 获取1个5-10的数
        document.write(Math.round(Math.random() * 5 + 5))

 

2、Math.max(a, b, c...) / Math.min(a, b, c...)

从任意数量的参数中返回最大/最小值。

实例:

alert( Math.max(3, 5, -10, 0, 1) ); // 5
alert( Math.min(1, 2) ); // 1

3、Math.pow(n, power)

返回 n 的给定(power)次幂

实例:

alert( Math.pow(2, 10) ); // 2 的 10 次幂 = 1024

4、Math.sqrt()

函数返回数字的平方根

alert(Math.sqrt(9));//3

给定数字的平方根。如果数字为负,NaN则返回。

5、Math.abs()

函数返回数字的绝对值

alert(Math.abs(-1));//1

 


使用Math封装函数得到一个16进制随机颜色编码:

<script>
        var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "a", "b", "c", "d", "e", "f"];
        var str = "#";
​
        function color(n, m) {
            for (var i = 0; i < 6; i++) {
                str += (arr[Math.round(Math.random() * (m - n) + n)]);
            }
            return str;
        }
        document.write(color(0, arr.length - 1));
        alert(str);
    </script>

2、Date对象

1.创建日期对象。

创建一个新的 Date 对象,只需要调用 new Date()

例如:
var now = new Date();
alert( now ); // 显示当前的日期/时间!

创建日期对象是,可以指定日期。

指定日期的几种方式:

  1. new Date("2021/1/7")

  2. new Date("2021-1-7 12:30:20")

  3. new Date(1576800000000);

  4. new Date(2021, 00, 7, 15, 33, 20);

<script>
        var d1 = new Date("2021/1/7")
        var d2 = new Date("2021-1-7 12:30:20");
        // 距离1970年1月1号00点的毫秒设置日期
        var d3 = new Date(1576800000000);
        // 国外日期从0月开始,等于正常的一月
        var d4 = new Date(2021, 00, 7, 15, 33, 20);
        document.write(d1 + "<br>" + d2 + "<br>" + d3 + "<br>" + d4)
    </script>

指定日期时。只有前两个参数是必须的。

  • year 必须是四位数:2013 是合法的,98 是不合法的。

  • month 计数从 0(一月)开始,到 11(十二月)结束。

  • date 是当月的具体某一天,如果缺失,则为默认值 1

  • 如果 hours/minutes/seconds/ms 缺失,则均为默认值 0

  • 例如

    new Date(2011, 0, 1, 0, 0, 0, 0); // 1 Jan 2011, 00:00:00
    new Date(2011, 0, 1); // 同样,时分秒等均为默认值 0

2.Date对象方法

Date 对象中访问年、月等信息有多种方式:

getFullYear()

获取年份(4 位数)

不是 getYear(),而是 getFullYear()

很多 JavaScript 引擎都实现了一个非标准化的方法 getYear()。不推荐使用这个方法。它有时候可能会返回 2 位的年份信息。永远都不要使用它。要获取年份就使用 getFullYear()

getMonth()

获取月份,从 0 到 11

getDate()

获取当月的具体日期,这个方法名称可能看起来有些令人疑惑。

获取相应的时间组件。

getHours()

获取小时

getMinutes()

获取分钟数

getSeconds()

获取秒数

getDay()

获取一周中的第几天,从 0(星期日)到 6(星期六)。第一天始终是星期日,在某些国家可能不是这样的习惯,但是这不能被改变。

getTime()

返回日期的时间戳 —— 从 1970-1-1 00:00:00 UTC+0 开始到现在所经过的毫秒数。

getTimezoneOffset()

返回 UTC 与本地时区之间的时差,以分钟为单位

Date.parse(日期对象);

将日期对象转为毫秒数。

设置日期:

setDate() 设置日期的天数。

setMonth() 设置月份

setFullYear() 设置日期的年份

setHours() 设置小时数

setMinutes() 设置分钟数

setSeconds() 设置秒数

setMilliseconds() 设置毫秒数


new Date(year, month, date, hours, minutes, seconds, ms)

使用当前时区中的给定组件创建日期。只有前两个参数是必须的。

  • year 必须是四位数:2013 是合法的,98 是不合法的。
  • month 计数从 0(一月)开始,到 11(十二月)结束。
  • date 是当月的具体某一天,如果缺失,则为默认值 1
  • 如果 hours/minutes/seconds/ms 缺失,则均为默认值 0

例如:

new Date(2011, 0, 1, 0, 0, 0, 0); // 1 Jan 2011, 00:00:00
new Date(2011, 0, 1); // 同样,时分秒等均为默认值 0


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值