前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript——内置对象(Math对象、日期对象)

JavaScript——内置对象(Math对象、日期对象)

作者头像
岳泽以
发布2022-10-26 17:11:28
1.8K0
发布2022-10-26 17:11:28
举报
文章被收录于专栏:岳泽以博客

内置对象

JavaScript中的对象分为3种:自定义对象、内置对象、浏览器对象

前面两种对象是JS基础内存,属于ECMAScript,第三种浏览器对象属于我们JS独有的。

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

内置对象最大的优点就是帮助我们快速开发

JavaScript提供了多个内置对象:Math、Date、Array、String等

查询MDN文档

学习一个内置对象的使用,只要学会其常用成员的使用即可。

我们可以通过查文档学习:MDN和W3C

Mozilla开发者网络(MDN)提供了有关开放网络技术(Open Web)的信息,包括HTML、CSS和万维网以及HTML5应用的API。

MDN:https://developer.mozilla.org/zh-CN/

学习对象中的方法

1.查阅方法的功能

2.查阅里面参数的意义和类型

3.查看返回值的意义和类型

4.通过demo进行测试

Math对象

Math数学对象,不是一个构造函数,所以我们不需要new来调用,而是直接使用里面的属性和方法即可,跟数学相关的运算(求绝对值,取整、最大值等)可以使用Math中的成员。

代码语言:javascript
复制
    console.log(Math.PI); //一个属性,圆周率
    console.log(Math.max(1, 98, 26)); //输出最大值98
    console.log(Math.max(1, 98, '岳泽以')); //NaN 如果有任一参数不能被转换为数值,则结果为 NaN。
    console.log(Math.max()); //-Infinity 如果没有参数,则结果为 - Infinity。

案例:封装自己的数学对象

利用对象封装自己的数学对象,里面有PI最大值和最小值

代码语言:javascript
复制
    var myMath = {
        PI: 3.141592653,
        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, 5, 8));
    console.log(myMath.min(1, 5, 8));

Math绝对值和三个取整方法

Math中的常用成员

成员

属性

Math.PI

圆周率

Math.floor()

向下取整

Math.ceil()

向上取整

Math.round()

四舍五入(就近取整)-3.5结果是-3

Math.abs()

绝对值

Math.max()/Math.min()

求最大值和最小值

绝对值方法
代码语言:javascript
复制
    console.log(Math.abs(1)); //1
    console.log(Math.abs(-1)); //1
    console.log(Math.abs('-1')); //隐式转换,会把字符串型-1转换为数字型
    console.log(Math.abs('zeyi')); //NaN
三个取整方法

1.Math.floor() 向下取整,往最小了取值

代码语言:javascript
复制
    console.log(Math.floor(1.1)); //1
    console.log(Math.floor(1.9)); //1

2.Math.ceil() 向上取整,往最大了取值

代码语言:javascript
复制
    console.log(Math.ceil(1.1)); //2
    console.log(Math.ceil(1.9)); //2

3.Math.round(() 四舍五入

代码语言:javascript
复制
    console.log(Math.round(1.5)); //2
    console.log(Math.round(1.2)); //1
    console.log(Math.round(-1.1)); //-1
    console.log(Math.round(-1.5)); //-1

注意:其他数字都是四舍五入,但是.5特殊,它往大了取,比如-1.5取-1而不取-2是因为-1>-2。

Math随机数方法

Math对象随机数方法:random() 返回一个随机的小数

返回的随机小数范围:0 =< x < 1

代码语言:javascript
复制
    console.log(Math.random());//随机一个小数,刷新变化

我们想要得到俩个数之间的随机整数,并且包含这2个整数

代码语言:javascript
复制
//Math.floor(Math.random() * (max - min + 1)) + min;
    function getRandom(min, max) {
        return Math.floor(Math.random() * (max - min + 1)) + min;
    }
    console.log(getRandom(1, 10));

随机点名:

代码语言:javascript
复制
    function getRandom(min, max) {
        return Math.floor(Math.random() * (max - min + 1)) + min;
    }
    var arr = ['张三', '李四', '王五'];
    console.log(arr[getRandom(0, arr.length - 1)]);

日期对象

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

使用Date

代码语言:javascript
复制
    var date = new Date();
    console.log(date);

参数常用写法

数字型:2022,10,09

代码语言:javascript
复制
    var date1 = new Date(2022, 04, 09);
    console.log(date1);//返回值大一月

字符串型:'2022-10-09 8:8:8' (常用写法)

代码语言:javascript
复制
    var date2 = new Date('2022-04-09 8:8:8');
    console.log(date2);

注意:

  • Date对象和Math对象不一样,他是一个构造函数,所以我们需要实例化后才能使用。
  • Date实例用来处理日期和时间。
  • Date获取当前时间必须实例化,如果没有参数,返回当前系统的当前时间。
  • 如果括号里面有时间,就返回参数里面的时间。

日期格式化

方法名

说明

代码

getFullYear()

获取当年

dObj.getFullYear()

getMonth()

获取当月(0-11)

dObj.getMonth()

getDate()

获取当天日期

dObj.getDate()

getDay()

获取星期几(0-6)

dObj.getDay()

getHours()

获取当前小时

dObj.getHours()

getMinutes()

获取当前分钟

dObj.getMinutes()

getSeconds()

获取当前秒钟

dObj.getSeconds()

代码语言:javascript
复制
    //单个格式化
    var date = new Date();
    console.log(date.getFullYear()); //返回当前日期的年
    console.log(date.getMonth()); //返回的月份小一个月
    console.log(date.getDate()); //返回的是几号
    console.log(date.getDay()); //周一返回的是1 周六返回6 周日返回0

格式化为 2022 年 4 月 9 日 星期六:

代码语言:javascript
复制
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var dates = date.getDate();
    var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
    var day = date.getDay();
    console.log('今天是:' + year + '年' + month + '月' + dates + '日' + arr[day]);

格式化时分秒:

代码语言:javascript
复制
    //单个格式化
    var date = new Date();
    console.log(date.getHours()); //时
    console.log(date.getMinutes()); //分
    console.log(date.getSeconds()); //秒
    //封装格式为 08:08:00
    function getTimes() {
        var h = date.getHours();
        h = h < 10 ? '0' + h : h;
        var m = date.getMinutes();
        m = m < 10 ? '0' + m : m;
        var s = date.getSeconds();
        s = s < 10 ? '0' + s : s;
        return h + ':' + m + ':' + s;
    }
    console.log(getTimes());

时间戳

获取日期的总的毫秒数(时间戳),不是当前时间的毫秒数,而是距离1970年1月1日过了多少毫秒数。

代码语言:javascript
复制
    var date = new Date();
    console.log(date.valueOf());
    //或者
    console.log(date.getTime());

    //简单写法(最常用的方法)
    var date1 = +new Date();
    console.log(date1);

    //更简单方法,H5新增的
    console.log(Date.now());
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022 年 04 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 内置对象
  • 查询MDN文档
  • 学习对象中的方法
  • Math对象
    • Math绝对值和三个取整方法
      • 绝对值方法
      • 三个取整方法
    • Math随机数方法
    • 日期对象
      • 使用Date
        • 日期格式化
          • 时间戳
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档