一,介绍
js被规定为3个标准
-
语法标准:ECMAScript
-
操作浏览器标准:BOM - brower object model - 浏览器对象模型
-
操作html文档标准:DOM - Document object model - 文档对象模型
BOM可以看做 使用对象模型(对象嵌套对象形成的结构) 来操作浏览器
对象模型中的最顶层的结构,最大的对象:window - 是系统内置的对象:代表着浏览器窗口
console.log(window) // 输出的是 object
对于浏览器的多种操作,window会内置很多小对象分别负责某一种操作DOM可以看做 是利用对象模型来操作html文档的
其顶层对象是 - document注意:
document是属于window的
二,BOM
(一),navigator
// 属于window的子对象,纪录了很多浏览器的信息
console.log( window.navigator ); // 返回一个navigator的对象
// 浏览器名称 - application:应用
console.log( window.navigator.appName ) // NetScape
// 浏览器的内核名称
console.log( window.navigator.appCodeName ) // Mozilla
// 浏览器版本
console.log( window.navigator.appVersion )
// 浏览器的用户信息
console.log( window.navigator.userAgent )
(二),location
用来操作浏览器的地址栏
console.log( window.location )
三个属性:
···
地址栏相当于 当前网页的路径 + 数据部分 + 锚点
数据部分 又包括 文件路径?键=值&键=值&键=值 。。。
···
1. href - 获取/设置当前完整地址
// 获取地址
console.log( window.location.herf )
// 设置页面跳转
变量名.onclick = funtion(){ // 通过点击变量名所在的区域,执行下面函数
window.location.href = '新的网页地址' // 跳转新的网址
}
2.search - 获取/设置当前地址栏中的数据部分
// 获取地址栏中的数据
console.log( window.location.search );
// 设置数据部分
变量名.onclick = function() {
window.location.search = '?name=zhangsan'
// 这边是相当于给 window.location.search 重新赋值 而不是添加
}
3.hash - 获取/设置地址栏中的锚点
// 获取地址栏中的锚点
console.log( window.location.hash );
// 设置锚点 不会跳转页面
变量名.onclick = function(){
window.location.hash = '#mima'
}
三个方法:
变量名.onclick = function(){
// 网页重定向[设置要跳转的地址]
window.location.assign('要跳转的网页地址') // 【跳转后能返回原来的地址】
// 使用新地址替换旧地址(跳转)
window.location.replace('替换的地址') // 【跳转后不能后退】
// 对网页进行刷新
window.location.reload()
}
(二),history
变量名.onclick = function(){
window.history.farward()
}