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
- Math.max() 得到的是你传入的几个数字之中 最大 的那个数字
- 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
但是其实是可以通用的,他们可以混着使用