- java Script 中的对象分为3种:自定义对象,内置对象,浏览器对象,
- 前面两种对象是JS基础内容,属于ECMAScript;第三个浏览器对象属于我们JS独有的,我们JS API讲解
- 内置对象就是指JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基础本而必要的功能(属性和方法)
- 内置对象最大的优点就是帮助我们快速开发
- java Script提供了多个内置对象:Math,Date,Array,String等
查文档:
- 学习一个内置对象的使用,只要学会其他常用成员的使用即可,我们可以通过查文档学习,可以通过MDN / W3C 来查询。
- Mozilla 开发者网络(MDN)提供了有关开放网络技术(Open Wed)的信息,包括HTML,CSS 和万维网及HTML5 应用的API。
- MDN:https://developer.mozilla.org/zh-CN/
Math对象:
Math对象不是构造函数,它具有数学常数和函数的属性和方法,跟数学相关的运算(求绝对值,取整,最大值等)可以使用Math中的成员。
Math.PI //圆周率
Math.floor ( ) //向下取整
Math.ceil ( ) //向下取整
Math.round ( ) //四舍五入版 就近取整 注意 -3.5 结果是 -3
Math.abs ( ) //绝对值
Math.max ( ) / Math.min //最大值 和 最小值
数学对象Math.max最大值方法
Math数学对象不是一个构造函数,所以我们不需要new来调用,而是直接使用里面的属性和方法即可。
console.log ( Math.max ( 1,99,3 ) ); // 99 ( 最大值 )
console.log ( Math.max ( -1,-10 ) ); //-1 ( 最大值 )
console.log ( Math.max ( '大幂幂' ) ); // NaN (不是个数字)
console.log ( Math.max ( ) ); // -Infinity
Math.abs绝对值方法
console.log (Math.abs ( 1 ) ); // 1
console.log ( Math.abs ( -1) ) ; // 1
console.log ( Math.abs ( '-1' ) ) // 隐式转换,把字符串型 -1 转换为数字型
console.log ( Math.abs ( '大幂幂' ) ) // NaN
三个取整方法:
(1)Math.floor ( ) 向下取整 往最小了取整
console.log ( Math.floor ( 1.1 ) ); // 1
console.log ( Math.floor ( 1.9 ) ); // 1
(2)Math.ceil ( ) 向上取整 往最大了取整
console.log ( Math.ceil ( 1.1 ) ); // 1
console.log ( Math.ceil ( 1.9 ) ); // 1
(3)Math,round ( ) 四舍五入
console.log ( Math.round ( 1.1 ) ); // 1
console.log ( Math.round ( 1.5 ) ); // 2
console.log ( Math.round ( 1.9 ) ); // 2
Math对象随机数方法:
我们想要得到两个数之间的随机整数 并且 包含这2个整数
function getRandom ( min, max ) {
return Math.floor ( Math.random ( ) ) * ( max - min + 1 ) + min ;
}
console.log ( getRandom ( 1, 10 ) );
Date日期对象:
Date()日期对象 是一个构造函数,必须使用new 来调用创建我们的日期对象
如果没有参数,返回当前系统的当前时间
var date = new Date ( ) ;
console.log ( date ) ;
参数的常用写法:字符串型 ‘2022-2-27 20:58:50’
var date = new Date ('2022-2-27 20:58:50');
console.log ( date )
格式化日期 年 月 日
var date = new Date ();
console.log ( date.getFullYear ( ) ); //返回当前日期的年
console.log ( date.getMonth ( ) +1); //月份 返回的月份小1个月 需要+1哦
console.log ( date.getDate ( )); //返回的是几号
console.log ( getDay ( )); //周一返回的是1 周六返回的是6 但是周日返回的是0 老外的眼里每个礼拜的第一天是星期日
var date = new Date();
var year = date.getFullYear(); //年
var month = date.getMonth() + 1; //月 记得+1哦
var dates = date.getDate(); //日
var arr = ['星期日','星期一','星期三','星期四','星期五','星期六'];
var day = date.getDay(); //星期 转换为字符串的星期
console.log('今天是:' + year + '年' + month + '月' + dates + '日 ' +arr[day]);
格式化日期 时 分 秒:
var date = new Date();
console.log ( date.getHours ( ) ); //时
console.log ( date.getMinutes ( ) ); //分
console.log ( date.getSeconds ( ) ); //秒
举例 要求封装一个函数返回当前的时分秒 格式 08:05:06
function getTime ( ) {
var time = new Date ( ) ;
var h = time.getHours ( ); //时
h = h < 10 ? '0' + h : h ;
var m = time.getMinutes ( ); //分
m = m < 10 ? '0' + m : m ;
var s = time.getSeconds ( ); //秒
s = s < 10 ? '0' + s : s ;
return h + ' : ' + m + ' : ' + s ;
}
console.log ( getTime ( ) ) ;
获取日期的总的毫秒形式
Date 对象时基于1970年1月1日 (世界标准时间)起的毫秒数
获得Date总的毫秒数(时间戳) 不是当前时间的毫秒数,而是距离1970年1月1日过了多少毫秒数
(1)通过 valueOf ( ) getTime ( )
var date = new Date ( ) ;
console.log ( date.valueOf ( ) ); //就是我们现在时间距离1970年1月1日总的毫秒数
console.log ( date. getTime ( ));
(2)简单的写法 (最为常用的写法)
var date = +new Date ( ) ;
console.log ( date );
(3)H5 新增的 获的总的毫秒数
console.log ( Date.now ( ) );
倒计时案例:
function coutDown ( time ) {
var nowTime = +new Date ( ); //返回的是当前时间总的毫秒数
var inputTime = +new Date ( time ); // 返回的是用户输入时间总的毫秒数
var times = ( inputTime - nowTime ) / 1000 ; // times 是剩余时间总的秒数
var d = parseInt ( times / 60 / 60 / 24 ) ; //天
d = d < 10 ? '0' + d : d ;
var h = parseInt ( times / 60 / 60 % 24 ) ; // 时
h = h < 10 ? '0' + h : h ;
var m = parseInt ( times / 60 % 60 ); //分
m = m < 10 ? '0' + m : m ;
var s parseInt ( timees % 60 ) ; // 当前的秒
s = s < 10 ? '0' + s : s ;
return d + '天' + h + '时' + m + '分' + s + '秒' ;
}
var date = new Date ( ) ;
console.log ( date ) ;