初学JS第九天

205 阅读4分钟

1. 数学方法

  1. random

    • 语法:Math.random()
    • 作用:返回一个0~1之间的随机数,包含0,不包含1
    • 返回值:与作用相同
  2. round

    • 语法:Math.round(数据)
    • 作用:将一个小数进行四舍五入取整
    • 返回值:与作用相同
  3. ceil

    • 语法:Math.ceil(数据)
    • 作用:将一个小数向上取整
    • 返回值:与作用相同
  4. floor

    • 语法:Math.floor(数据)
    • 作用:将一个小数向下取整
    • 返回值:与作用相同
  5. abs

    • 语法:Math.abs(数据)
    • 作用:取绝对值
    • 返回值:与作用相同
  6. sqrt

    • 语法:Math.sqrt(数据)
    • 作用:开平方根
    • 返回值:与作用相同
  7. pow

    • 语法:Math.pow(数据,数字)
    • 作用:求数据的数字次幂
    • 返回值:与作用相同
  8. max

    • 语法:Math.max(数据)
    • 作用:求这组数据中的最大值
    • 返回值:与作用相同
  9. min

    • 语法:Math.min(数据)
    • 作用:求这组数据中的最小值
    • 返回值:与作用相同
  10. PI // 这是一个属性不是方法

    • 语法:Math.PI
    • 作用:输出pai // 3.1415926....
    • 返回值:与作用相同

2. 时间对象

  1. 三种写法:

    • 例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. 获取事件对象的方法

  1. 获取当前年份:console.log(timer.getFullYear())

  2. 获取当前月份:console.log(timer.getMonth())

  3. 获取当前日:console.log(timer.getDate())

  4. 获取当前小时:console.log(timer.getHours())

  5. 获取当前分钟:console.log(timer.getMinutes())

  6. 获取当前秒数:console.log(timer.getSeconds())

  7. 获取当前周几:console.log(timer.getDay())

  8. 获取当前毫秒数:console.log(timer.getTime())

4. 设置事件对象的方法

  1. 设置当前年份:console.log(timer.setFullYear())

  2. 设置当前月份:console.log(timer.setMonth())

  3. 设置当前日:console.log(timer.setDate())

  4. 设置当前小时:console.log(timer.setHours())

  5. 设置当前分钟:console.log(timer.setMinutes())

  6. 设置当前秒数:console.log(timer.setSeconds())

  7. 设置当前毫秒数: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

  1. 定义:浏览器对象功能,给我们提供了一些浏览器的功能

  2. 获取浏览器窗口尺寸(通过window操作BOM)

console.log(window.innerHeight) // 获取浏览器当前视口高度
console.log(window.innerWidth) // 获取浏览器当前视口宽度

注:我们在操作BOM时window可以不写但是不推荐

  1. prompty() // 输入框 alert() // 弹出框 confirm() // 询问框,返回值为true或false

  2. 浏览器的地址信息 概念:在wind ow中有一个对象location, 它是专门存储浏览器的地址信息 window.location.herf = '地址' // 可以实现页面跳转 例:

var a = box
  a.onclick = function () { // 点击事件
    window.location.href = 'https://www.baidu.com' // 跳转路径
  }

window.location.reload() // 可以刷新页面

  1. 通过BOM获取到浏览器的版本信息
    • window.navifator
    • 浏览器的onload时事件: JS会将内部的代码等到页面所有内容加载完毕后在执行 语法:window.onload = function() {执行函数} 注:onload不用调用就可以执行
  2. 浏览器滚动事件: window.onscroll = function() {滚动时要执行的代码}
    • 浏览器没有滚动其实是浏览器内的页面滚动 语法:document.body.scrollTop document.documentElement.scrollTop 区别:IE浏览器没有DOCTYPE,那么使用任意一个都可以,如果有只能使用documentElement chorme和火狐没有DOCTYPE用body,有的话用documentElement safari两个都不用,他用window.pageYoffset