JS内置对象

二次信任 提交于 2020-02-04 02:36:55

JS内置对象

  • JavaScript中的三种对象:自定义对象、内置对象、浏览器对象
  • ECMAScript中的对象:自定义对象、内置对象
  • 内置对象:内置对象就是系统提供的对象,已经存在的对象,例如Math、Array、Data…

Math对象

Math对象不是构造函数,它具有数学常数和函数的属性和方法,都是以静态成员的方式提供跟数学相关的运算来找Math中的成员(求绝对值、取整)

Data对象
Data实例用来处理日期和时间。Data对象基于1970年一月一日(世界标准时间)起的毫秒数
Math对象和Data对象的区别:

  • Math 不是一个构造函数,里面提供的是静态成员
  • Data 是一个构造函数,首先要通过new Data () 来创建日期实例(对象),实例成员

Data()函数的使用方法

//日期构造函数 Data ()
var d = new Data();
//1 空构造函数 获取的是当前时间对象
console.log(d);
//距离1970-1-1相差的毫秒数 valueof()可以获取当前的毫秒数
console.log(valueof());
//2 构造函数中传入毫秒数
var d = new Data(1502088177998);
console.log(d);
//3 可以传入日期形式的字符串
var d = new Data('2020-2-2 8:8:8');
console.log(d);
//4 可以传入数字 Data(year,month[,day[,hour[,minutes[,seconds[,milliseconds]]]]]);
var d = new Data(2020,2,2);
console.log(d);

如何获取日期对象的毫秒值

var d = new Data();
//valueof() 获取日期对象的毫秒值 不用我们调用 该方法通常在JavaScript内部被调用,而不是在代码中显示调用
//getTime 和 valueof 作用一样
console.log(d.getTime());
//获取当前时间的毫秒值 静态成员
var d = Data.now();//存在浏览器的兼容问题
console.log(d);
//+ 在这里是取正
//var d = Number(new Data()) 同作用
var d = + new Data();
console.log(d);

日期格式化转换

//写一个函数,格式化日期对象,返回yyyy-MM-dd HH:mm:ss的形式
function formatDate(date) {
    //判断参数是否是日期对象
   //instanceof
   if (!(date instanceof Date)){
    console.error('date不是日期对象');
    return;
   }
   //获取当前时间
   var year = date.getFullYear(),
       month = date.getMonth() + 1,
       day = date.getDate(),
       hour = date.getHours();
       minute = date.getMinutes(),
       second = date.getSeconds();
   //对于小于2位数的时间前面自动补0
    month = month < 10 ? '0' + month :month;
    day = day < 10 ? '0' + day : day;
    hour = hour < 10 ? '0' + hour : hour;
    minute = minute < 10 ? '0' + minute : minute;
    second = second <10 ? '0' + second : second;
return year + '-' + month + '-' +day + ' ' + hour + ':' + minute + ':' + second;
}
var d = new Date();
var dateStr = formatDate(d);
console.log(dateStr);

代码结果如下:
在这里插入图片描述

计算时间差

function getInterval(star,end) {
    //两个日期对象的毫秒数
   var interval = end - star;
   //求相差的天数/小时数/分钟数/秒数
   var day,hour,minute,second;
   //两个日期相差秒数
   interval /= 1000;
   
   // 如何计算相差的 天、时、分、秒
  //相差的秒数 = 相差的总毫秒数 / 1000
  //相差的天数 = 相差的总毫秒数 / 1000 / 60 / 60 / 24
  //相差的小时数 = 相差的总毫秒数 / 1000 / 60 / 60 % 24
  //相差的分钟数 = 相差的总毫秒数 / 1000 / 60 % 60
  //相差的毫秒= 相差的总毫秒数 / 1000 % 60 
  
  //Math.round() 四舍五入取值
   day = Math.round(interval / 60 / 60 / 24);
   hour = Math.round(interval / 60 / 60 % 24);
   minute = Math.round(interval / 60 % 60);
   second = Math.round(interval % 60);
   //返回多个值
   return {
    day: day,
    hour: hour,
    minute: minute,
    second: second
   };
   var d1 = new Date();
   var d2 = new Date(2020,10,1);
   console.log(getInterval(d1,d2));
}

内置对象还有很多,我们不可能一时将所有的内置对象的方法都学会,掌握常用的方法,对于不熟悉的用法我们可以去查文档,慢慢积累。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!