BOM
BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”。
1.Window 对象
Window对象是客户端JavaScript最高层对象之一,由于window对象是其它大部分对象的共同祖先,在调用window对象的方法和属性时,可以省略window对象的引用。例如:window.document.write()可以简写成:document.write()。
所有浏览器都支持 window 对象。它表示浏览器窗口。
*如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。
*没有应用于 window 对象的公开标准,不过所有浏览器都支持该对象。
所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。
全局变量是 window 对象的属性。全局函数是 window 对象的方法。
HTML DOM 的 document 也是 window 对象的属性之一。
2. Window对象的常用属性
history | 有关客户访问过的URL的信息 |
---|---|
location | 有关当前 URL 的信息 |
语法:
window.属性名= “属性值”
window.location=“https://www.baidu.com” ;
3.Window对象的常用方法
window.innerHeight - 浏览器窗口的内部高度
window.innerWidth - 浏览器窗口的内部宽度
window.open() - 打开新窗口
window.close() - 关闭当前窗口
window.moveTo() - 移动当前窗口
window.resizeTo() - 调整当前窗口的尺寸
window.prompt()-显示可提示用户输入的对话框
window.alert( )- 显示带有一个提示信息和一个确定按钮的警示框
window.confirm( )- 显示一个带有提示信息、确定和取消按钮的对话框
window.setTimeout( )- 在指定的毫秒数后调用函数或计算表达式
window.setInterval( )-按照指定的的周期(以毫秒计)来调用函数或表达式
alert( ):一个参数,仅显示警告对话框的消息,无返回值,不能对脚本产生任何改变
prompt( ):两个参数,输入对话框,用来提示用户输入一些信息,单击“取消”按钮则返回null,单击“确定”按钮则返回用户输入的值,常用于收集用户关于特定问题而反馈的信息
confirm( ):一个参数,确认对话框,显示提示对话框的消息、“确定”按钮和“取消”按钮,单击“确定”按钮返回true,单击“取消”按钮返回false,因此与if-else语句搭配使用
4.history对象
history.back() - 与在浏览器点击后退按钮相同
history.back() 方法加载历史列表中的前一个 URL。
这与在浏览器中点击后退按钮是相同的。
history.forward() - 与在浏览器中点击向前按钮相同
history forward() 方法加载历史列表中的下一个 URL。
这与在浏览器中点击前进按钮是相同的。
history.back()等价history.go(-1)浏览器中的“后退”
history.forward()等价history.go(1)浏览器中的“前进”
5.location对象
location.hostname 返回 web 主机的域名
location.pathname 返回当前页面的路径和文件名
location.port 返回 web 主机的端口 (80 或 443)
location.protocol 返回所使用的 web 协议(http: 或 https:)
location.reload() 重新加载当前文档
location.replace() 用新的文档替换当前文档
6.Document对象
常用属性:
名称 | 说明 |
---|---|
referrer | 返回载入当前文档的URL |
URL | 返回当前文档的URL |
var preUrl=document.referrer; //载入本页面文档的地址
if(preUrl==""){
document.write("<h2>您不是从领奖页面进入,5秒后将自
动 跳转到登录页面</h2>");
setTimeout("javascript:location.href='login.html'",5000);
}
常用方法:
名称 | 说明 |
---|---|
getElementById() | 返回对拥有指定id的第一个对象的引用 |
getElementsByName() | 返回带有指定名称的对象的集合 |
getElementsByTagName() | 返回带有指定标签名的对象的集合 |
write() | 向文档写文本、HTML表达式或JavaScript代码 |
7.Date对象
var 日期对象=new Date(参数)
方法 | 说明 |
---|---|
getDate() | 返回 Date 对象的一个月中的每一天,其值介于1~31之间 |
getDay() | 返回 Date 对象的星期中的每一天,其值介于0~6之间 |
getHours() | 返回 Date 对象的小时数,其值介于0~23之间 |
getMinutes() | 返回 Date 对象的分钟数,其值介于0~59之间 |
getSeconds() | 返回 Date 对象的秒数,其值介于0~59之间 |
getMonth() | 返回 Date 对象的月份,其值介于0~11之间 |
getFullYear() | 返回 Date 对象的年份,其值为4位数 |
getTime() | 返回自某一时刻(1970年1月1日)以来的毫秒数 |
8.制作时钟特效
function disptime(){
var today = new Date();
var hh = today.getHours();
var mm = today.getMinutes();
var ss = today.getSeconds();
document.getElementById("myclock").innerHTML="现在是:"+hh
+":"+mm+": "+ss;
}
disptime();
9.定时函数,清除函数
定时函数:
setTimeout()
setTimeout(“调用的函数”,等待的毫秒数)
var myTime=setTimeout("disptime() ", 1000 );
setInterval()
setInterval(“调用的函数”,间隔的毫秒数)
var myTime=setInterval("disptime() ", 1000 );
清除函数:
clearTimeout()
clearTimeout(setTimeOut()返回的ID值)
clearInterval()
clearInterval(setInterval()返回的ID值)
var myTime=setInterval("disptime() ", 1000 );
clearInterval(myTime);
例:
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<p>页面上显示时钟:</p>
<p id="demo"></p>
<button onclick="myStopFunction()">停止</button>
<script>
var myVar=setInterval(function(){myTimer()},1000);
function myTimer(){
var d=new Date();
var t=d.toLocaleTimeString();
document.getElementById("demo").innerHTML=t;
}
function myStopFunction(){
clearInterval(myVar);
}
</script>
</body>
</html>
10.Math对象
方法 | 说 明 | 示例 |
---|---|---|
ceil() | 对数进行上舍入 | Math.ceil(25.5);返回26 Math.ceil(-25.5);返回-25 |
floor() | 对数进行下舍入 | Math.floor(25.5);返回25 Math.floor(-25.5);返回-26 |
round() | 把数四舍五入为最接近的数 | Math.round(25.5);返回26 Math.round(-25.5);返回-26 |
random() | 返回0~1之间的随机数 | Math.random();例如:0.6273608814137365 |