10.JavaScript-内置对象Math()和 Date()

目录

前言

一、什么是内置对象

二、Math 内置对象

1. Math.max() / Math.min()  取最大值和最小值

2. Math.abs() 取绝对值方法

3. 三个取整方法

1) 向上取整 Math.ceil()

2)向下取整 Math.floor()

3) 四舍五入取整 Math.round()  其他数字都是四舍五入,唯独 .5 特殊,只往大了取整

4. Math.random()  随机数

1、返回一个随机的小数,[0, 1), 这个方法括号里不跟参数

2、 得到一个两数之间的随机整数

3、得到两个数之间的随机整数,并且包含这两个数

4、随机点名

三、Date() 内置对象

1.  Date()日期对象 是一个构造函数, 创建的时候必须要加 new

2. Date()构造函数里面的参数,可以跟数字型:2022,1,22,也可以放字符串型 2022-1-22 21:31:30

3. 日期的格式化

demo: 写一个 2022年1月22日 星期六

4. 封装一个函数返回 时分秒


前言

JavaScript 对象分为三种:自定义对象、内置对象、浏览器对象;前两种属于ECMAScript,最后一种属于js独有的。


一、什么是内置对象

内置对象:js语言自带的一些对象,这些对象提供开发者使用,并提供了一些常用的和最基本而必要的功能(属性和方法)


二、Math 内置对象

它拥有一些数学常用属性和数学函数方法。 注意:Math 不是一个函数对象。

1. Math.max() / Math.min()  取最大值和最小值

        console.log(Math.max(1, 2, 3, 4));

        console.log(Math.min(24, 21, 5, 2));

        console.log(Math.max()); // -infinity 无穷小

        console.log(Math.max(1, 2, 3, 'liu')); // NaN

封装一个数学对象

        var myMath = {

            PI: 3.1415926,

            max: function() {

                var max = arguments[0];

                for (var i = 1; i < arguments.length; i++) {

                    if (arguments[i] > max) {

                        max = arguments[i];

                    }

                }

                return max;

            },

            min: function() {

                var min = arguments[0];

                for (var i = 1; i < arguments.length; i++) {

                    if (arguments[i] < min) {

                        min = arguments[i];

                    }

                }

                return min;

            }

        }

        console.log(myMath.PI);

        console.log(myMath.max(1, 2, 3, 4, 5));

        console.log(myMath.min(1, 2, 3, 4, 5));

2. Math.abs() 取绝对值方法

        console.log(Math.abs(1)); //1

        console.log(Math.abs(-1)); //1

        console.log(Math.abs('-1')); // 1  隐式转换,会把字符串型 -1 转换为数字型

        console.log(Math.abs('nihao')); // NaN

3. 三个取整方法

1) 向上取整 Math.ceil()

        console.log(Math.ceil(1.1)); //2

        console.log(Math.ceil(1.9)); // 2

2)向下取整 Math.floor()

        console.log(Math.floor(1.1)); // 1

        console.log(Math.floor(1.9)); //1

3) 四舍五入取整 Math.round()  其他数字都是四舍五入,唯独 .5 特殊,只往大了取整

        console.log(Math.round(1.4)); //1

        console.log(Math.round(1.9)); //2

        console.log(Math.round(-1.1)); // -1

        console.log(Math.round(-1.7)); // -2

        console.log(Math.round(-1.5)); //-1

4. Math.random()  随机数

1、返回一个随机的小数,[0, 1), 这个方法括号里不跟参数

        console.log(Math.random());

2、 得到一个两数之间的随机整数

        // Math.floor(Math.random() * (max - min)) + min; //不含最大值,含最小值

        function getRandom(min, max) {

            return Math.floor(Math.random() * (max - min)) + min;

        }

        console.log(getRandom(1, 10));

3、得到两个数之间的随机整数,并且包含这两个数

        // Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值

        function getRandom1(min, max) {

            return Math.floor(Math.random() * (max - min + 1)) + min;

        }

        console.log(getRandom1(1, 20));

4、随机点名

        var arr = ['pink', '张三', '李四', '王五'];

        console.log(arr[getRandom1(0, arr.length - 1)]);


三、Date() 内置对象

是一个构造函数,必须使用new来调用创建我们的日期对象

1.  Date()日期对象 是一个构造函数, 创建的时候必须要加 new

        var now = new Date();  // Date() 里面 不传参数,默认返回的是当前时间

        console.log(now);

2. Date()构造函数里面的参数,可以跟数字型:2022,1,22,也可以放字符串型 2022-1-22 21:31:30

数字型:

        var date = new Date(2022, 1, 22);

        console.log(date); // 返回的是2月,不是1月

字符串型:        

var date1 = new Date('2022-1-22 21:31:30');

 console.log(date1);

3. 日期的格式化

        // 1)获取当年 getFullYear()

        var date2 = new Date();

        console.log(date2.getFullYear()); //2020 返回当前年

        // 2) 获取当前月 getMonth()

        console.log(date2.getMonth() + 1); //1,返回的月份小于1个月,记得+1;

        // 3) 获取当前的几号 getDate();

        console.log(date2.getDate()); // 22

        // 4)获取当前星期几 getDay()

        console.log(date2.getDay()); //6 周一-周六返回的是1-6,周日返回的是0

        // 5)获取时

        console.log(date2.getHours());

        // 6)获取分

        console.log(date2.getMinutes());

        // 7)获取秒

        console.log(date2.getSeconds());

demo: 写一个 2022年1月22日 星期六

        var date3 = new Date();

        var year = date3.getFullYear();

        var month = date3.getMonth() + 1;

        var dates = date3.getDate();

        var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];

        var day = date3.getDay();

        console.log('今天是:' + year + '年' + month + '月' + dates + '日 ' + arr[day]);

4. 封装一个函数返回 时分秒

        function getTime() {

            var time = new Date();

            h = time.getHours();

            h = h < 10 ? '0' + h : h;

            m = time.getMinutes();

            m = m < 10 ? '0' + m : m;

            s = time.getSeconds();

            s = s < 10 ? '0' + s : s;

            return h + ':' + m + ":" + s;

        }

        console.log(getTime());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr_LiuP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值