Javascript中的window对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript中的window对象相关的知识,希望对你有一定的参考价值。
javascript中包括三部分:ECMAScript、BOM和DOM。window对象属于BOM。
window对象,是js顶层对象,表示整个浏览器窗口,不仅仅js内容,整个html页面(包括所有元素和CSS内容)也都在window对象的管理之下。
示例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>Javascript测试</title> <script type="text/javascript"> var xxx = 10; function f1(){ return "Hello World"; } alert(window.xxx);//10 alert(window.f1());//Hello World </script> </head> <body> </body> </html>
效果图
浏览器每打开一个标签页面就会创建一个window对象,浏览器窗口有时候会打开多个页面,也就对应多个window对象,每个window对象几乎互不影响。
1、全局对象(属性)
1.1、location地址栏对象
href属性
reload()方法
示例代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>Javascript测试</title> <script type="text/javascript"> onload = function(){ document.getElementById(‘btn‘).onclick = function(){ window.location.href = "http://www.baidu.com"; }; }; </script> </head> <body> <input type="button" id="btn" value="跳转到百度"/> </body> </html>
效果图
1.2、screenX和screenY
screenX浏览器左边框距显示屏左边界的距离
screenY
1.3、document
document页面文档对象,表示一个html页面
1.4、event
clientX
clientY
window.event是非常重要的属性,用来获得发生事件时的信息
事件不局限于window对象的事件,所有元素的事件都可以通过event属性取到相关信息。(不兼容Firefox)
示例代码一(Firefox不兼容,IE可以)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>Javascript测试</title> <script type="text/javascript"> onload = function(){ document.getElementById(‘dv‘).onclick = function(){ alert(window.event.clientX + "," + window.event.clientY); }; }; </script> </head> <body> <div id="dv" style="width:300px;height:200px;border:solid 1px red;margin:100px;"></div> </body> </html>
效果图
示例代码二(Firefox兼容)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>Javascript测试</title> <script type="text/javascript"> onload = function(){ document.getElementById(‘dv‘).onclick = function(e){ alert(e.clientX + "," + e.clientY); }; }; </script> </head> <body> <div id="dv" style="width:300px;height:100px;border:solid 1px red;margin:100px;"></div> </body> </html>
效果图
2、window的全局函数
alert()
confirm()
var result = window.confirm("确实要删除这条数据吗?"); alert(result);//true, false
prompt()
var result = window.prompt("请输入您的姓名",""); alert(result);//如果点击取消,则返回null值
close()
var result = window.confirm("确实要关闭当前窗口吗?"); if(result){window.close();}
open()
setInterval(), clearInterval()
setInterval(alert("a"),1000);//只执行一次 setInterval(function(){alert("a");},1000);//每隔一秒执行一次
示例代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>Javascript测试</title> <script type="text/javascript"> var i=0; var sid = setInterval(function(){ alert(new Date()); if(i==3){//执行4次:0、1、2、3 clearInterval(sid); } i++; },1000); </script> </head> <body> </body> </html>
效果图
setTimeout(), clearTimeout()
以上是关于Javascript中的window对象的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段12——JavaScript的Promise对象
VSCode自定义代码片段12——JavaScript的Promise对象