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));
}
内置对象还有很多,我们不可能一时将所有的内置对象的方法都学会,掌握常用的方法,对于不熟悉的用法我们可以去查文档,慢慢积累。
来源:CSDN
作者:JuJu_T
链接:https://blog.csdn.net/Valentine_T/article/details/104144416