BOM
浏览器对象模型,是浏览器提供的用于操作浏览器的SDK
1)网页进行前进或者后退
window.history.go()
window.history.back()
window.history.forward()
2)超时调用与间歇调用
setInterval(function(){
//匿名函数每隔1000ms调用一次
},1000)
setTimeout(function(){
//匿名函数在1000ms之后进行调用
},1000)
setInterval,setTimeout返回值为数字类型表示当前超时调用或间歇调用的标识,通过这个标识我们取消超时调用或
间歇调用
clearTimeout(flag)
clearInterval(flag)
3)url信息
window.location.href
window.location.origin 域名
window.location.host 主机
window.location.hostName
window.location.port 端口号
window.location.pathName
未来实现路由机制的原理
4)ajax
异步javascript和xml通过js语法来操作浏览器,使得它能够与后端进行交互
异步:请求可以理解为运行在浏览器后端的服务,不影响浏览器的正常工作和显示
1.实例化XMLHttpRequest
var xhr = new XMLHttpRequest();
2.初始化请求行
xhr.open(method,url,async)
async异步
3.设置请求头
xhr.setRequestHeader(key,value)
如果是get方式,无需设置Content-Type,因为他是请求体中数据编码格式
4.设置请求体,并且发送请求
xhr.send(data)
如果是get方式,无需设置data
5.监听请求状态的改变,来获取结果
xhr.onreadystatechange = function(){
if(xhr.readystate === 4){ //readystate xhr的状态
if(xhr.status === 200){
//获取结果
xhr.response //string ->json 、JSON.parse();
parse();
}
}
}
status
响应状态
200 ok
404 not found
500 服务器接口出错
401 未授权
403 被拒绝,无权访问