JS-BOM

BOM

Borwser Object Model --- 浏览器对象模型
顶级对象:window


window对象 包含的对象

1. 浏览器的信息 navigator对象

navigator对象 包含的对象:

// 以下内容以Chorm浏览器为例

// 1.1 返回浏览器的代码名 --- 内核名称
console.log(window.navigator.appCodeName);    // Mozilla

// 1.2 返回浏览器的名称
console.log(window.navigator.appName);    // Netscape

// 1.3 返回浏览器的平台和版本信息
console.log( window.navigator.appVersion ); 

// 1.4 返回浏览器用于 HTTP 请求 的 用户代理 头部的值
console.log(window.navigator.userAgent);

2. 浏览器的历史记录 history对象

history对象 包含的对象:

// 2.1 返回到上一个页面
history.back()

// 2.2 前进到下一个页面
history.forward()

// 2.3 前进/返回到若干页面
history.go(参)
//参数指定页数 如 -2 则返回到上上个页面

3. 浏览器的地址栏信息 location对象

location对象 包含的对象:

// 3.1 设置或返回地址栏中完整的url
// 设置url --- 跳转页面
window.location.href = 'https://www.baidu.com/'
// 设置属性值时 用引号包裹 用等号连接属性 下同

// 返回当前url
window.location.href()

// 3.2 设置或返回地址栏中的锚点
// 设置锚点 --- 不会跳转页面
window.location.hash = '#abc'
// 应用场景:通过改变锚点来切换到nav栏对应的内容

// 返回当前地址栏中的url
window.locaton.hash()

// 3.3 设置或返回地址栏中的数据
window.location.search = '?abc=123&def=456'
// 数据的格式:?键=值&键=值
// 地址栏内容的组成:文档路径 + 数据 + 锚点

// 返回当前地址栏中的数据
window.location.search()

// 3.4 网页重定向 --- 跳转网页
window.location.assign('https://www.baidu.com/')

// 3.5 用指定地址替换当前地址 --- 跳转网页
window.location.replace('https://www.baidu.com/')

// 3.6 重新加载本页面 --- 刷新
window.location.reload()

4. 浏览器窗口的尺寸

返回浏览器窗口的高度
window.innerHeight

返回浏览器窗口的宽度
window.innerHeight

    [返回值的单位为像素]
    [计算范围包括滚动条区域]
    [应用场景:用JS手动实现媒体查询]


解码、编码

原由:地址栏默认会将符号、汉字进行url编码

// 编码 encodeURI('目标字符')
// 解码 decodeURI(‘编码’)

案例:
var code = encodeURI('前端学习')
// 编码
console.log(code);    // %E5%89%8D%E7%AB%AF%E5%AD%A6%E4%B9%A0
// 解码
console.log(decodeURI(code));    // 前端学习

定时器

延迟定时器
setTimeout(参1,参2)
    [参1指定要执行的函数 参2指定延迟时间]
    [返回值为数字 意为 第num个定时器]
    [只执行一次]

间隔定时器
setInterval(参1,参2)
    [参1指定要执行的函数 参2指定每次执行之间的时间间隔]
    [返回值为数字 意为 第num个定时器]
    [默认死循环执行]

关闭定时器
clearTimeout(定时器id/定制器的返回值)
clearInterval(定时器id/定制器的返回值)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容