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对象

sublime text 3 添加 javascript 代码片段 ( snippet )

常用Javascript代码片段集锦

Node.js JavaScript 片段中的跳过代码

JavaScript单行代码,也就是代码片段