目录
1.Math对象
Math.PI 圆周率
Math.max(1,5,10) 返回最大值 可以获取两个以及两个以上的最大值 10
Math.min(1,5,10) 返回最小值 可以获取两个以及两个以上的最小值 1
Math.random() 生成[0~1)之间的随机数 不包括1
Math.floor(1.5) 向下取整 小于这个数的最大整数 1
Math.ceil(1.5) 向上取整 大于这个数的最小整数 2
Math.round(1.5) 四舍五入 2
Math.abs(-1.5) 绝对值 1.5
Math.pow(10,2) 次幂 10的2次方 100
Math.sqrt(9) 求平方跟 3
<script>
// 圆周率
console.log('Math.PI 圆周率 输出:' + Math.PI);
// 最大值 两个数或两个数以上可使用
console.log('Math.max(10, 50, 30) 最大值 输出:' + Math.max(10, 50, 30));
// 最小值 两个数或两个数以上可使用
console.log('Math.min(10, 50, 30) 最小值 输出:' + Math.min(10, 50, 30));
// 生成[0~1)之间的数 不包括1
console.log('Math.random() 生成随机数 输出:' + Math.random());
// 向下取整
console.log('Math.floor(1.5) 向下取整 输出:' + Math.floor(1.5));
// 四舍五入
console.log('Math.round(1.5) 四舍五入 输出:' + Math.round(1.5));
// 绝对值
console.log('Math.abs(-1.5) 绝对值 输出:' + Math.abs(-1.5));
// 次方
console.log('Math.pow(10, 3) 次方 输出:' + Math.pow(10, 3));
// 求平方根
console.log('Math.sqrt(9) 求平方根 输出:' + Math.sqrt(9));
//1-10随机数
console.log('1-10随机数 输出:' + Math.floor(Math.random() * 10 + 1));
</script>
输出结果
2.Date对象
获取时间
创建date()
var now = new Date()
now.getTime() 返回毫秒数
now.Milliseconds()
now.Seconds() 秒 返回0-59
now.Minutes() 分钟 返回0-59
now.Hours() 小时
now.Day() 返回周几 0—周日 6周6
now.Date() 返回当前月的第几天
now.Month() 返回月份 从0开始
getFullYear() 返回4位的年份 如:2002
获取指定时间与世界标准Date()的毫秒差实现思路
转换为毫秒数
Date.parse(now)
将毫秒数转换为时间;
// 1000毫秒 == 1秒 60秒 == 1分钟 60分钟 == 1小时 var res = res / 1000 / 60 / 60
获取当前时间
<script>
function getNowTime() {
const date = new Date(); //当前时间
let year = date.getFullYear().toString(); //返回指定日期的年份
let month = date.getMonth() + 1; //月
let day = date.getDate(); //日
let hour = date.getHours(); //时
let minute = date.getMinutes(); //分
let second = date.getSeconds(); //秒
return (
year + "-" +
(month < 10 ? "0" + month : month) + "-" +
(day < 10 ? "0" + day : day) +" " +
(hour < 10 ? "0" + hour : hour) + ":" +
(minute < 10 ? "0" + minute : minute) + ":" +
(second < 10 ? "0" + second : second)
);
}
</script>
2.1例子
模拟朋友圈发布时间,计算时间差
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>获取发布朋友圈的时间</title>
</head>
<body>
<script>
// 获取当前时间
var now = new Date()
// 获取发布朋友圈的时间
var fbtime = new Date("2022-8-1-00:00:00")
// console.log(fbtime)
// 转成毫秒
now = Date.parse(now)
fbtime = Date.parse(fbtime)
// 计算时间差
var time = now - fbtime
// 转换成秒
var secondTime = parseInt(time / 1000)
// 转换分钟
var minutesTime = parseInt(time / 1000 / 60)
// 转换小时
var hoursTime = parseInt(time / 1000 / 60 / 60)
// 转换天数
var daysTime = parseInt(time / 1000 / 60 / 60 / 24)
console.log(secondTime)
console.log(minutesTime)
console.log(hoursTime)
console.log(daysTime)
// 分值结构判断,根据不同的情况输出不同的结构
if (daysTime >= 1) {
console.log(daysTime + "天以前")
} else if (hoursTime > 0 && hoursTime < 24) {
console.log(hoursTime + "小时以前")
} else if (minutesTime > 0 && minutesTime < 60) {
console.log(minutesTime + "分钟以前")
} else if (secondTime > 0 && secondTime < 60) {
console.log(secondTime + "秒以前")
}
</script>
</body>
</html>
3.定时器
每多少毫秒执行一次
setInterval(function(){},毫秒);
<script>
//创建定时器
var timer = setInterval(function(){
console.log(1)
},1000)
//清除定时器
clearInterval(timer)
</script>
倒计时多少毫秒后执行一次 只执行一次
setTimeout(function(){},毫秒);
<script>
//创建定时器 只执行一次
var timer = setTimeout(function(){
console.log(1)
},1000)
</script>
清除定时器
clearInterval(定时器名);
4.常用属性和方法
截取字符串
从开始位置截取,到指定位置结束,取不到最后一个字符
变量.substring(2,4);
变量.slice(2,4)
从开始位置截取,截取指定长度的字符串
变量.substr(2,4);
字符串拼接
变量.concat("123");
返回索引
返回该字符在字符串中的索引
从前往后找 只找到第一个
变量.indexOf("h");
从后往前找,只找到第一个匹配的
变量.lastIndexOf('h')
当找不到该字符时返回 -1
去除空
去除变量两边的空格
变量.trim()
替换字符 只替换满足条件的第一个字符
将m 替换为 w
变量.replace('m','w')