静态成员
- keys(某个对象),得到某个对象的所有属性名数组
- values(某个对象),得到某个对象的所有属性值数组
- entries(某个对象),得到某个对象的所有属性名和属性值的数组
var obj = {
x: 123,
y: "Asdfaf",
z: true
};
// var obj = [234, 65, 2, 2, 3444, 111];
var arr1 = Object.entries(obj);
var arr2 = Object.keys(obj);
var arr3 = Object.values(obj);
console.log(arr1,arr2,arr3,);
实例成员
实例成员可以被重写
所有对象,都拥有Object的所有实例成员
- toString方法:得到某个对象的字符串格式
默认情况下,该方法返回”[object Object]”;
- valueOf方法:得到某个对象的值
默认情况下,返回该对象本身
在JS中,当自动的进行类型转换时,如果要对一个对象进行转换,实际上是先调用对象的valueOf方法,然后调用返回结果的toString方法,将得到的结果进行进一步转换。
var obj = {
x: 13,
y: 34534,
valueOf() {
return 123;
}
}
console.log(obj + 1);
// 如果调用了valueOf已经得到了原始类型,则不再调用toString
// console.log(obj.valueOf().toString() + 1);
Math对象
提供了一系列与数学相关的成员
常量:永远不会变化的数据。常量一般命名时所有字母大写,如果有多个单词,用下划线分割。
- random方法: 产生一个0~1之间的随机数
- PI属性:得到圆周率
- abs方法:求绝对值
- floor方法:对一个数向下取整
- ceil方法:对一个数向上取整
- max方法:得到一组数字的最大值;如果无参,得到-Infinity
- min方法:得到一组数字的最小值;如果无参,得到Infinity
- pow方法:求一个数字的幂次方
- round方法:得到一个四舍五入的整数
Date构造函数
术语
- 时间单位
年(year)
月(month)
日(date)
小时(hour)
分钟(minute)
秒(second) = 1000ms
毫秒(millisecond,ms) = 1000 us
微秒(microsecond,us) = 1000 ns
纳秒(nanosecond,ns)
- UTC和GMT
世界划分为24个时区,北京在东8区,格林威治在0时区。
GMT:Greenwish Mean Time 格林威治世界时。太阳时,精确到毫秒。
UTC:Universal Time Coodinated 世界协调时。以原子时间为计时标准,精确到纳秒。
UTC和GMT之间误差不超过0.9秒
GMT+0800 东8区
- 时间戳
数字
1970-1-1 凌晨 到 某个时间 所经过的毫秒数
创建时间对象
- 直接调用函数(不适用new),忽略所有参数,直接返回当前时间的字符串。
- new Date(): 创建日期对象
- 无参,当前时间
- 1个参数,参数为数字,表示传入的是时间戳
- 两个参数以上,分别表示:年、月、日、时、分、秒、毫秒
注意:月份的数字从0开始计算。
如果缺失参数,日期部分默认为1,时分秒毫秒默认为0。
月、日、时、分、秒、毫秒,均可以传递负数,如果传递负数,会根据指定日期进行计算。
实例成员
- getDate方法:得到日期部分
- getDay方法:得到星期几,0表示星期天
- getFullYear方法:得到年份
- getHours方法:得到小时部分
- getMinutes方法:得到分钟部分
- getSeconds方法:得到秒部分
- getMilliseconds方法:得到毫秒部分
- getTime方法:得到时间戳
- getMonth方法:得到月,从0开始计算
- setDate方法:设置日期
- setMonth方法:设置月份
- setFullYear方法:设置年
- setMinutes方法
- setSeconds方法
- setMilliseconds方法
- setTime方法:重新设置时间戳
- toDateString方法:将日期部分转换为可读的字符串。
- toISOString方法:将整个对象转换为ISO标准的字符串格式。
- toLocaleDateString方法:根据当前系统的地区设置,将日期部分转换为可读的字符串
- toLocaleString方法:根据当前系统的地区设置,将整个日期对象转换为可读的字符串
- toLocaleTimeString方法:根据当前系统的地区设置,将时间部分转换为可读的字符串
日期的运算
日期对象重写了Object中的valueOf方法,返回的是一个数字,表示时间戳
因此,日期对象可以进行数学运算
//返回友好时间
function getDateString(date){
var year = date.getFullYear().toString().padSart(4,'0');
var mouth = (date.getMouth() + 1).toString().padSart(2,'0');
var date = date.getDate().toString().padSart(2,'0');
var hour = date.getHours().toString().padSart(2,'0');
var minute = date.getminutes().toString().padSart(2,'0');
var second = date.getSeconds().toString().padSart(2,'0');
return `${year}-${mouth}-${date} ${hour}:${minute}:${second}`
}
console.log(getDateString(new Date()));