从零单排—面向对象认识JS世界(第一天)

从零单排——面向对象角度认识JS世界

2016/10/28

在JavaScript世界中所有东西都是由对象构成

下面我们来看三大对象:(BOM对象、内置对象、自定义对象)
1.BOM对象

BOM是浏览器对象模型的简称(全称为:Browser Object Model)

常用的BOM对象:
* 浏览器对象(navigator):提供有关浏览器的信息。
* 窗口对象(window):window对象处于对象层次的最顶端,它提供了处理Navigator窗口的方法和属性。
* 框架对象(frame):包含了框架的版面布局信息,以及每一个框架所对应的窗口对象。
* 位置对象(location):提供了与当前打开的URL一起工作的方法和属性,是一个静态的对象。
* 历史对象(history):提供了与历史清单有关的信息。
* 文档对象(document):包含了与文档元素一起工作的对象,它将这些元素封装起来供编程人员使用。文档对象是浏览器对象模型的核心,对于实现Web页面信息交互起到关键作用。
* 客户端显示屏幕对象(screen):Screen 对象中存放着有关显示浏览器屏幕的信息。
BOM对象

在JavaScript中对象之间并不是独立存在的,对象与对象之间有着层次关系。如Document对象是Window对象的子对象。浏览器对象模型就是用于描述这种对象与对象之间层次关系的模型,该对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。

这里写图片描述

//所有BOM对象都是window的一个属性
console.log(document === window.document);//ture
console.log(location === window.location);//ture
console.log(history === window.history);//ture
console.log(navigator === window.navigator);//ture
console.log(screen === window.screen);//ture
一起来操作一次BOM对象
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
</head>
<body>
    <button id="btn">打开新窗口</button>
    <script type="text/javascript">
    document.getElementById("btn").onclick = function (){
        window.open('http://www.baidu.com');
    }
    </script>
</body>
</html>
//点击按钮后打开一个新的窗口标签并连接到baidu。
我们甚至可以控制打开window窗口的各个属性,动手试一试一下代码吧:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
</head>
<body>
    <button id="btn">打开新窗口</button>
    <script type="text/javascript">
    document.getElementById("btn").onclick = function (){
        window.open('http://www.baidu.com','newwindow','height=100,width=400,top=100,left=100,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no');
    }
    </script>
</body>
</html>
location对象打开新页面、刷新页面
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
</head>
<body>
    <button id="btn">打开新网页</button>
    <button id="btn1">刷新网页</button>
    <script type="text/javascript">
    document.getElementById("btn").onclick = function (){
        window.location = 'http://www.baidu.com' ;//改变当前窗口地址,会打开新的网页
    }
    document.getElementById("btn1").onclick = function (){
        location.reload();//刷新当前页面
    }
    </script>
</body>
</html>
history对象前进、后退和go()
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<input type=button value=刷新 onclick="window.location.reload()">
<input type=button value=前进 onclick="window.history.go(1)">
<input type=button value=后退 onclick="window.history.go(-1)">
<input type=button value=前进 onclick="window.history.forward()">
<input type=button value=后退
       onclick="window.history.back()">
<input type=button value=后退+刷新
       onclick="window.history.go(-1);window.location.reload()">
</body>
</html>
利用userAgent属性判断是哪个浏览器
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
</body>
</html>
<script>
    function CheckBrowser(){
        var u_agent = navigator.userAgent;
        var browser_name='未知浏览器';
        if(u_agent.indexOf('Firefox')>-1){
            browser_name='Firefox';
        }else if(u_agent.indexOf('Chrome')>-1){
            browser_name='Chrome';
        }else if(u_agent.indexOf('Trident')>-1&&u_agent.indexOf('rv:11')>-1){
            browser_name='IE11';
        }else if(u_agent.indexOf('MSIE')>-1&&u_agent.indexOf('Trident')>-1){
            browser_name='IE(8-10)';
        }else if(u_agent.indexOf('MSIE')>-1){
            browser_name='IE(6-7)';
        }else if(u_agent.indexOf('Opera')>-1){
            browser_name='Opera';
        }else{
            browser_name+=',info:'+u_agent;
        }
        document.write('浏览器类型为:'+browser_name+'<br>');
        document.write('userAgent属性值为:'+u_agent+'<br>');
    }

CheckBrowser()
</script>

未完待续。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值