JavaScript组成ECMAScript+BOM+DOM
目前所学的都是ECMAScript,BOM和DOM还没有学
已学的ECMAScript:变量,注释,数据类型,操作符,流程控制语句(判断和循环),数组,对象,构造函数,内置对象
JavaScript中所包含的对象:自定义对象(之前学的就是),内置对象,浏览器对象
ECMAScript中包含的对象:自定义对象,内置对象
内置对象:Math,Array,Date……
Math对象:不是构造函数,是具有数学常数和函数的属性和方法,都是以静态成员的方式提供跟数学相关的运算来找Math中的成员(求绝对值,取正)
Math.PI //圆周率
Math.random() //生成随机数,范围在[0,1)之间的小数
Math.floor() //向下取整
Math.ceil() //向上取整
Math.round() //取整,四舍五入
Math.abs() //绝对值
Math.max() //返回一组数中的最大值
Math.sin() //求正弦
Math.power() //求指数次幂
Math.sqrt() //求平方根
Math对象和Date对象的区别:Math对象不是构造函数,里面是静态成员;Date对象是构造函数,需要通过new Date()来创建日期实例(对象)
Date对象:处理日期和时间
1 空构造函数获取当前时间对象
var d = new Date();
console.log(d);
GTM 世界标准时间
Date对象本身就是一个毫秒数--->距离1970-1-1相差的毫秒数:console.log(d.valueOf());
2 构造函数传入毫秒值,返回时间对象
var d = new Date(毫秒值);
console.log(d); //输出毫秒值对应的时间
3 可以传入日期形式的字符串
var d = Date('1988-1-8');
console.log(d);
4 可以传入数字
静态成员获取当前时间毫秒值
var num = Date.now(); num = + new Date(); = num = Number(new Date());
console.log(num);
Date方法:
日期格式化:
toString() //转成字符串
valueOf() //获取毫秒值
toDateString() //美式时间
toTimeString() //
toLocalDateString(); //本地时间,根据当前操作系统的语言返回时间形式
toLocalTimeString() //
写一个函数,格式化日期对象,返回yyyy-mm-dd hh:mm:ss的形式
function formatDate(date){
//判断参数date是否是日期对象 instance 实例(对象)
if (!(date instanceof Date)){
console.error("date不是日期对象");
return;
}
var year = date.getFullYear(), //同时定义多个变量,不用分号,用逗号
month = date.getMonth()+1, //month从零开始计算
day = date.getDate(),
hour = date.getHours(),
minute = date.getMinutes(),
second = date.getSeconds();
return year + '-' + month + '-' +day + '-' + hour + ':' + minute + ':' + second;
};
var d = new Date();
var dateStr = formatDate(d);
console.log(dateStr);
计算两个日期对象的时间差,返回相差的天/时/分/秒 可用来做倒计时
1 两个日期对象如何相减
2 函数如何返回多个值--------> return一个对象,包含多个属性和值
3 如何计算相差的 天/时/分/秒
function getInterval(start,end){
var interval = end - start;
var day, hour, minute, second;
interval /= 1000;
day = interval / 60 / 60 / 24;
hour = interval /60 /60 %24;
minute = interval /60 %60;
second = interval % 60;
return {
day:day,
hour:hour,
minute:minute,
second:second
};
};
var d1 = new Date();
var d2 = new Date(2021,5,29);
var o = getInterval(d1,d2);
console.log(o);
内置对象Array对象:
创建数组对象:
1 字面量创建
var array = [ ]; //创建一个空数组
var number = [1,2,3];
2 数组的构造函数Array
var array = new Array(); //创建一个空数组
var array = new Array(3,4,5);
length是数组对象的一个属性,数组长度:array.length
判断一个变量是否是数组:
方法1:
function fn(arr){
console.log(arr instenceof Array); //返回布尔值
};
var d = 1;
fn(d);
方法2:
arr = 1;
Array.isArray(arr); //括号内传入变量。 pass:浏览器兼容H5