天天看点

JavaScript 06 内置对象Math,Date,Array

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');

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 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

继续阅读