浏览器相关

77 阅读4分钟

1.时间对象:Date

语法:var timer = new Date()  //默认获取当前时间
当然也可以指定 在挎号里面写上要指定的时间
哪挎号里面的格式又是怎么样的呢?
有两种格式:
a. 数字:var timer = new Date(2022, 2, 12, 13, 14) //参数顺序 年 月 日 时 分 秒
注意:月的取值范围是0-11 简单的理解就是如果输入0 就是代表1b.字符串
var time = new Date('2022-01-20 13:14:15') 年--日 时:分:秒 
注意格式,前面年月日是用-连接的 年月日后空格隔开 时分秒是用:连接的 还有就是这个是字符串哦,你是不是忘记了.

获取年(getFullYear)
var time = new Date() //获取当前时间
语法:var year = time.getFullYear()
注:下面语法一样的,我下面不会重复写哦~
获取月(getMonth)
获取星期几(getDay)
获取每月的第几天(getDate)
获取小时(getHours)
获取秒钟(getSeconds)
这些最主要注意大小写问题

扩展:格林尼治时间  从197011000秒到现在的毫秒数
用getTime获取
语法:var time = new Date()
var time1 = time.getTime()

前面我们获取了时间那能进行修改吗?我竟然这么问了当然可改
设置时间对象
语法:时间对象.setXXXX()
修改年(setFullYear)
var time = new Date() //获取当前时间
语法:var year = time.setFullYear(2015)
注:里面要放参数,要不然怎么修改呢?下面语法一样.
修改月(setMonth(3))
修改每月的第几天(setDate(5))
修改小时(setHours(8))
修改秒钟(setSeconds(34))
修改毫秒(setMilliseconds(999)) //如果这里写1000就打印出0 因为1秒等于1000毫秒 所以进一 
修改格林尼时间(setTime)

我们都知道javascriptEs,Bom,Dom 组成 那你们了解Bom到底什么意思吗?我来解释一下

Bom 浏览器对象模型

我们可以理解为 浏览器给我们提供了一系列的方法
a.可以的开浏览器弹窗框 //confirm / alert / prompt
b.记录当前窗口大小
c.操作页面跳转
.......
BOM是放在window里面
语法:window.XXXX  window可以不写
获取窗口大小 是页面的
console.log(window.innerHeight) //页面高度 受控制台影响
console.log(window.innerWidth) //页面宽度

浏览器

浏览器地址信息
window里面有一个location记录了浏览器的地址信息 location有一个href属性,可以获取浏览器的地址,也可以给他赋值新的地址,实现页面跳转
setTimeout(function(){
    window.location.href = "'https://www.baidu.com/'
        }, 3000)
倒计时三秒以后进入这个网页

浏览器的刷新功能
语法:window.location.reload 这样不太好理解我们举一个列子
var count = 0
setInterval(function(){
    count++
    console.log(count)
    if (count === 5){
        window.location.reload
        //不要把刷新写在外部,写在一个条件内  因为写在外部他就一直刷新 页面都出不来 
    }
})

浏览器的历史记录(模拟浏览器返回和前进)
window.history.back() //回退
window.history.forward() //前进(必须有一次回退以后才有前进要不然不知道前进去哪里)

浏览器的版本信息(扩展信息了解一些就可以)
window.navigator

浏览器的onload事件

问题:如果网页里面的内容还没有加载出来,图片就出来了.
解决方法: onload是等到页面的所有资源加载完毕后执行 
语法:
window.onload = function() {}

浏览器的onscroll事件

简单的解释就是浏览器的滚动事件,浏览器页面滚动的时候会触发
window.onscroll = function(){
    console.log('页面的滚动')
}
浏览器的滚动距离
因为是页面的滚动,所以需要使用document 对象去获取滚动的距离
上下滚动 注意长度一直要够,可以给body加一个高度,当前页面是不够,不能有滚动效果
第一种方法:document.body.scrollTop //条件浏览器没有申明<!DOCTYPE html>
第二种方法:document.documentElement.scrollTop  //条件是申明了<!DOCTYPE html>
竟然上下有滚动事件,那左右也少不了方法是一样的 我们只要把top改为left
第一种方法:document.body.scrollLeft //条件浏览器没有申明<!DOCTYPE html>
第二种方法:document.documentElement.scrollLeft  //条件是申明了<!DOCTYPE html>
展示:
window.onscroll = function () {
    console.log("滚动")
    console.log("第一种",document.body.scrollTop,'第二种',document.documentElement.scrollTop)
} //左右一样

本地储存(面试喜欢问)

1.localStorage
   浏览器的本地储存(永久储存,除非你删除) ,打开浏览器储存上之后,关闭浏览器,信息还在.
a.储存语法: window.localStorage
注:value 的值必须是字符串  key的值尽量见词知意 要不然后面你去看的时候不知道储存了什么
例子:window.localStorage.seItem('qq','88888')
b.localStorage的删除语法
window.localStorage.removeItem('qq') //里面写key
c.localStorage的清除语法
语法:window.localStorage.clear() //里面不用写,因为这个是全部删除
d.localStorage的获取语法
语法:window.localStorage.getItem(key)
window.localStorage.getItem('qq')
2.sessionStorage
浏览器临时储存 特点:页面关闭直接清除数据
语法:window.sessionStorage.setItem(key, value)
这里value也是要字符串
获取语法:
console.log(window.sessionStorage.getItem('qq'))
删除语法:
window.sessionStorage.getItem('qq')
清除语法:window.sessionStorage.clear()
JSON 的两种方法
例子:
var obj = [1, 2, 3, 4, 5]
window.sessionStorage.setItem('OBJ', JSON.stringify(obj))   // 1. JSON.stringify()  将其他类型的数据, 转为字符串格式
var newObj = JSON.parse(window.sessionStorage.getItem('OBJ'))   // 2. JSON.parse    将字符串的数据类型还原
console.log(newObj)