Math和Date的常用方法及定时器,延时器

发布于:2023-01-06 ⋅ 阅读:(484) ⋅ 点赞:(0)

Math

js的内置对象——不需要自己创建——对象存了很多关于数学 的属性和方法

1. Math.random() 这个方法是用来生成一个 [0,1)之间的数

0-9 之间的数字   parseInt(Math.random() * 10);

0-46 之间的数字  parseInt(Math.random() * (50 - 4 + 1))

两个数之间的随机整数,并且包含这两个整数

方法一:Function getRandom(min,max){

         Return Math.floor(Math.random()*(max-min+1))+min;

} console.log(getRandom(1,10)   );

方法二:Math.ceil(Math.random()*10)

2. Math.round() 是将一个小数 四舍五入 变成一个整数

3. Math.abs() 是返回一个数字的 绝对值,负数变正数

3. Math.ceil() 是将一个小数 向上取整 得到的整数(比参数大的 最小整数)

var num = 10.1;     console.log(Math.ceil(num))  // 11

console.log(Math.ceil(1.001));   //2

4. Math.floor() 是将一个小数 向下取整 的到的整数(比参数小的最大整数)

var num2 = 10.9;  console.log(Math.floor(num2));  // 10

console.log(Math.floor(-2.001));   //-3

  1. Math.max() 得到的是你传入的几个数字之中 最大 的那个数字
  2. Math.min() 得到的是你传入的几个数字之中 最小 的那个数字

纯数字数组得到最大值  

var arr = [1, 2, 3, 4, 5];

console.log(Math.max(arr)); //NaN

console.log(Math.max(...arr)); //5

7.pow 次方   Math.pow(2, 10);==console.log(2 ** 10);

8.sqrt算术平方根  Math.sqrt(4)

9.PI    Math.PI();

10.角度——>弧度  55----> PI/180  *55

11. toFixed 保留小数

console.log(Math.sin(Math.PI / 6));

console.log(Math.sin(Math.PI / 6).toFixed(3))   //保留三位小数

Date

Date 是一个内置构造函数, (函数也是对象)内置对象

1.创建  获取当前计算机的时间

var now = new Date();

2.标准日期格式的字符串

var d1 = new Date("2022-09-01 17:00:00");

3.()里面的参数 一个数字--毫秒数--时间戳

var d2 = new Date(2000);  //Thu Jan 01 1970 08:00:01 GMT+0800

2000 --相对1970-01-01 :08:00:00  经过的的毫秒数

console.log(now.getTime());  // 1657092590756

获取now 距离 1970-01-01 :08:00:00 过了多少 毫秒

返回 1970 年 1 月 1 日至今的毫秒数。

4.参数是多个数字  年月日时分秒毫秒

月份数字 从0 开始 0-一月6-七月11-十二月如果超出正常返回 0-11 --自动往后折算

var d3 = new Date(2022, 11, 6, 15, 50, 0, 0);

两组方法 先创建对象 才能使用方法--- 对象方法

一.获取日期对象中 年月日时分秒毫秒 时间戳 星期

console.log(now.getFullYear());

console.log(now.getMonth() + 1);   //从0 开始 0-11

console.log(now.getDate());        //日 1-31

console.log(now.getHours());       //0-23

console.log(now.getMinutes());      //0-59

console.log(now.getSeconds());        //0-59

console.log(now.getMilliseconds());  //0-999

console.log(now.getTime());        // 1657093230365

console.log(now.getDay());      //0-6  1-星期1    0 星期日   6 星期6 

二 设置日期对象中 年月日时分秒毫秒 时间戳

now.setFullYear(2000);

now.setMonth(110); //超出 会自动折算

now.setDate(4); //

now.setHours(4); //

now.setMinutes(4); //

now.setSeconds(4); //

now.setMilliseconds(4); //

now.setTime(1000);

静态方法 当前日期的时间戳  console.log(Date.now());

日期的计算

var targetDate = new Date(2022, 6, 6, 15, 50, 0);

var now = new Date();

var r = targetDate - now; //   时间戳在相减

//   var r = targetDate.getTime() - now.getTime();

console.log(r);          //144350

console.log(r / 1000 / 60);

定时器

有两种定时器,倒计时定时器 和 间隔定时器

倒计时定时器(延时器)

延时器 延时指定的执行 执行函数一次

写法一:var timer1 = setTimeout(function () {

               console.log("2222");

                 }, 4000);

console.log(timer1);

写法二:var fn = function () {

           console.log("fn");

             };

 var timer = setTimeout(fn, 12000);

间隔定时器

每间隔多少毫秒,函数执行一次

写法一:var timer1 = setInterval(function () {

               console.log("我执行了");

                   }, 1000);

写法二:function box(){

     console.log(1)

}

var timer = setInerval(box,1000); //每间隔1000毫秒,box函数执行一次

关闭定时器

两个方法来关闭定时器 clearTimeout 和 clearInterval

点击按钮清除定时器

btn.onclick = function() {

     clearTimeout(timer1);

     clearInterval(timer3);

 };

原则上是

  • clearTimeout 关闭 setTimeout
  • clearInterval 关闭 setInterval

但是其实是可以通用的,他们可以混着使用

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到