1. 数学方法
-
random
- 语法:Math.random()
- 作用:返回一个0~1之间的随机数,包含0,不包含1
- 返回值:与作用相同
-
round
- 语法:Math.round(数据)
- 作用:将一个小数进行四舍五入取整
- 返回值:与作用相同
-
ceil
- 语法:Math.ceil(数据)
- 作用:将一个小数向上取整
- 返回值:与作用相同
-
floor
- 语法:Math.floor(数据)
- 作用:将一个小数向下取整
- 返回值:与作用相同
-
abs
- 语法:Math.abs(数据)
- 作用:取绝对值
- 返回值:与作用相同
-
sqrt
- 语法:Math.sqrt(数据)
- 作用:开平方根
- 返回值:与作用相同
-
pow
- 语法:Math.pow(数据,数字)
- 作用:求数据的数字次幂
- 返回值:与作用相同
-
max
- 语法:Math.max(数据)
- 作用:求这组数据中的最大值
- 返回值:与作用相同
-
min
- 语法:Math.min(数据)
- 作用:求这组数据中的最小值
- 返回值:与作用相同
-
PI // 这是一个属性不是方法
- 语法:Math.PI
- 作用:输出pai // 3.1415926....
- 返回值:与作用相同
2. 时间对象
-
三种写法:
- 例1:
var timer = new Date() console.log(timer) // 不传递参数直接获得当前时间- 例2:
var timer = new Date('2022 - 3 - 16 12 : 13 : 14') // 传递参数,指定时间- 例3:
var timer = new Date(2022, 00) // 在JS中月份表示为0 ~ 11, 意思是0代表1月,传递数字时最少写两个参数 var timer1 = new Date(2022, 01, 03, 14, 25, 55) // 年月日时分秒
3. 获取事件对象的方法
-
获取当前年份:console.log(timer.getFullYear())
-
获取当前月份:console.log(timer.getMonth())
-
获取当前日:console.log(timer.getDate())
-
获取当前小时:console.log(timer.getHours())
-
获取当前分钟:console.log(timer.getMinutes())
-
获取当前秒数:console.log(timer.getSeconds())
-
获取当前周几:console.log(timer.getDay())
-
获取当前毫秒数:console.log(timer.getTime())
4. 设置事件对象的方法
-
设置当前年份:console.log(timer.setFullYear())
-
设置当前月份:console.log(timer.setMonth())
-
设置当前日:console.log(timer.setDate())
-
设置当前小时:console.log(timer.setHours())
-
设置当前分钟:console.log(timer.setMinutes())
-
设置当前秒数:console.log(timer.setSeconds())
-
设置当前毫秒数:console.log(timer.setTime())
注:当你的周几不能改,当你年月日设置好了你的周几就出来了
5. 距离该时间还要多久
/**
* 计算两个日期的时间差
* 比如: 当前时间距离: 2023-3-19 8:30:45 之间相差 x 天 y 时 z 分 q 秒
*
* 使用两个时间的毫秒数的差值去计算相差的天时分秒
*
* 逻辑:
* 1. 创建两个时间对象
* 2. 计算两个时间对象的毫秒数差值
* 3. 利用这个差值, 计算这里有多少完整的天
* parseInt(差值(总毫秒数) / 一天的毫秒数)
* 4. 用剩余不足一天的总毫秒数, 去计算时分秒
*/
// 1. 创建两个时间对象
var currentTime = new Date()
var prevTime = new Date(2023, 2, 19, 8, 30, 45)
// 2. 计算两个时间对象的毫秒数差值
var time = prevTime.getTime() - currentTime.getTime()
// 3. 利用这个差值, 计算这里有多少完整的天
var oneDay = 1000 * 60 * 60 * 24
var day = parseInt(time / oneDay)
// 3.1 计算去掉完整天数的毫秒数
time = time - (day * oneDay)
// 4. 用剩余不足一天的总毫秒数, 去计算时分秒
// 4.1 时
var oneHours = 1000 * 60 * 60
var hours = parseInt(time / oneHours)
// 计算不足一小时的毫秒数, 能够用它计算有多少分钟, 多少秒
time = time - (hours * oneHours)
// 4.2 分
var oneMinutes = 1000 * 60
var minutes = parseInt(time/ oneMinutes)
// 计算不足一分钟的毫秒数, 能够用它计算有多少秒
time = time - (minutes * oneMinutes)
// 4.3 秒
var seconds = parseInt(time / 1000)
console.log(seconds)
6. BOM
-
定义:浏览器对象功能,给我们提供了一些浏览器的功能
-
获取浏览器窗口尺寸(通过window操作BOM)
console.log(window.innerHeight) // 获取浏览器当前视口高度
console.log(window.innerWidth) // 获取浏览器当前视口宽度
注:我们在操作BOM时window可以不写但是不推荐
-
prompty() // 输入框 alert() // 弹出框 confirm() // 询问框,返回值为true或false
-
浏览器的地址信息 概念:在wind ow中有一个对象location, 它是专门存储浏览器的地址信息 window.location.herf = '地址' // 可以实现页面跳转 例:
var a = box
a.onclick = function () { // 点击事件
window.location.href = 'https://www.baidu.com' // 跳转路径
}
window.location.reload() // 可以刷新页面
- 通过BOM获取到浏览器的版本信息
- window.navifator
- 浏览器的onload时事件: JS会将内部的代码等到页面所有内容加载完毕后在执行 语法:window.onload = function() {执行函数} 注:onload不用调用就可以执行
- 浏览器滚动事件:
window.onscroll = function() {滚动时要执行的代码}
- 浏览器没有滚动其实是浏览器内的页面滚动 语法:document.body.scrollTop document.documentElement.scrollTop 区别:IE浏览器没有DOCTYPE,那么使用任意一个都可以,如果有只能使用documentElement chorme和火狐没有DOCTYPE用body,有的话用documentElement safari两个都不用,他用window.pageYoffset