从零开始学习前端JAVASCRIPT — 4、JavaScript基础Math和Date对象的介绍

时间:2022-05-01 05:21:17

Math对象的介绍


1:Math对象

Math 对象用于执行数学任务。并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math()。您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。


2:Math属性

PI:返回圆周率(约等于3.14159)。


3:Math方法

Math.round(3.6);   // 四舍五入。

Math.random();     // 返回大于等于0到小于1之间的随机数。

// 随机数如何设定范围
// 0 - 100(包含)之间的随机值—Math.round四舍五入
console.log(Math.round(Math.random() * 100));
// 0 - 99(包含)之间的随机值—Math.floor向下取整
console.log(Math.floor(Math.random() * 100));
// 1 - 100(包含)之间的随机值—Math.ceil向上取整
console.log(Math.ceil(Math.random() * 100));
// 100 - 1000(包含)之间的随机值
// 求两个值之间的随机数
/*function random(x, y) {
return Math.round(Math.random() * (y - x)) + x;
}
*/
console.log(Math.round(Math.random() * (1000 - 100)) + 100);

Math.max(a, b);    // 返回较大的数值。

Math.min(a, b);    // 返回较小的数值。

Math.abs(num);     // 返回绝对值。

Math.ceil(3.6);    // 向上取整。4

Math.floor(3.6);   // 向下取整。3

Math.pow(x, y);    // x的y次方。

Math.sqrt(num);    // 开平方。


4:三角函数复习

Math.sin(x);       // x的正弦值,返回值在-1到1之间。

Math.cos(x);       // x的余弦值,返回值在-1到1之间。


附录: 

勾股定理:

var a = 3, b = 4;
var c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
console.log(c);

三角函数:

var degree = 60;
var rad = Math.PI / 180 * degree;
console.log(Math.ceil(Math.sin(rad) * 10) / 10);
console.log(Math.floor(Math.cos(rad) * 10) / 10); 

Date日期对象的介绍


1:日期对象

定义:JS DATE使用UTC(国际协调时间)1970,1,1,0,0,0,0所经过的毫秒数。

在JS中日期也是它的内置对象,所以我们要对日期进行获取和操作,必须实例化对象。


2:创建日期对象

var oDate=new Date();

将会包含本地时间的信息,包括年月日时分秒 星期。

可以传入参数的格式:

1.“时:分:秒 月/日/年”、“月/日/年 时:分:秒”、“年/月/日”等字符串。

var oDate = new Date('12:12:12 12/12/2017'); //“时:分:秒 月/日/年”
var oDate = new Date('12/14/2017 12:12:12'); //“月/日/年 时:分:秒”
var oDate = new Date('2017/12/14'); //“年/月/日”等字符串

2.年,月,日,时,分,秒。注意不能加“”。月是从0开始算的。

var oDate = new Date(2017, 11, 12, 13, 24, 36); // 0代表1 

3.时间戳。

var oDate = new Date(1516775284475); 

3:日期对象获取信息的方法

注:月份和星期都是从0开始计算的。

getDate():从 Date 对象返回一个月中的某一天 (1 ~ 31)。

getMonth():从 Date 对象返回月份 (0 ~ 11)。

getFullYear():从 Date 对象以四位数字返回年份。

getDay():从 Date 对象返回一周中的某一天 (0 ~ 6)。 其中0代表星期日。

getYear():请使用 getFullYear() 方法代替。由 getYear() 返回的值不总是 4 位的数字!对于介于 1900 与 1999 之间的年份,getYear() 方法仅返回两位数字。对于 1900 之前或 1999 之后的年份,则返回 4 位数字!ECMAscript已经不再要求使用该函数

getHours():返回 Date 对象的小时 (0 ~ 23)。

getMinutes():返回 Date 对象的分钟 (0 ~ 59)。

getSeconds():返回 Date 对象的秒数 (0 ~ 59)。

getMilliseconds():返回 Date 对象的毫秒(0 ~ 999)。

getTime():返回 1970 年 1 月 1 日至今的毫秒数。


4:日期对象设置信息的方法

setDate():设置 Date 对象中月的某一天 (1 ~ 31)。

setMonth():设置 Date 对象中月份 (0 ~ 11)。

setFullYear():设置 Date 对象中的年份(四位数字)。

setYear() 请使用 setFullYear() 方法代替。如果 year 参数是两位的数字,比如 setYear(91),则该方法会理解为 1991。如果要规定 1990 年之前或 1999 年之后的年份,请使用四位数字。 ECMAscript已经不再要求使用该函数

setHours():设置 Date 对象中的小时 (0 ~ 23)。

setMinutes():设置 Date 对象中的分钟 (0 ~ 59)。

setSeconds():设置 Date 对象中的秒钟 (0 ~ 59)。

setMilliseconds():设置 Date 对象中的毫秒 (0 ~ 999)。

setTime():以毫秒设置 Date 对象。


5:关于日期对象的常用操作

1:将日期格式化成字符串。

2:将指定格式字符串转化成日期对象。

3:日期字符串转为毫秒数。

4:计算两个日期的时间差值。

5:日期函数封装(dateUtil.js)(封装常见功能)


6:延时器和定时器

延时器:

语法:setTimeout(函数或者代码串,指定的时间(毫秒));

在指定的毫秒数后只执行一次函数或代码。

清除延迟器:clearTimeout();

var timer3 = setTimeout(function () {
console.log('蹦!');
} , 3000); setTimeout(function () {
clearTimeout(timer3);
}, 2000);

 setTimeout()调用函数的写法方式,也可去掉引号

function print() {
console.log('你好');
}
setTimeout('print()', 3000);//此写法如果在window.onload调用,建议放到匿名函数,
//涉及到作用域的问题,js运行到此报错,也可调整js引用的位置

  

  定时器:

语法:setInterval(函数或者代码串,指定的时间(毫秒));

按照指定的周期(毫秒)不断的执行函数或者是代码串。

清除定时器:clearInterval();

var num = 6;
var timer = setInterval(function () {
console.log(--num); if(num === 0) {
clearInterval(timer);
}
}, 1000);