Javascript笔记(3)

浏览器对象以及异常处理

一、浏览器对象

在web开发中,我们经常会使用到浏览器对象来对用户体验,UI设计等一系列事件进行操作,那么我就先说说我对浏览器对象的了解:

1.window对象
浏览器对象中,window对象无疑是一个很重要也是最顶层的对象,我们经常使用的document方法以及alert方法都是window对象中的方法,window对象指的是浏览器打开的窗口,window对象中大概包含以下内容
属性:
closed: 返回窗口是否已被关闭。
defaultStatus: 设置或返回窗口状态栏中的默认文本。
document: 对 Document 对象的只读引用。
history: 对 History 对象的只读引用。请参数 History 对象。
innerheight : 返回窗口的文档显示区的高度。
innerwidth: 返回窗口的文档显示区的宽度。
length: 设置或返回窗口中的框架数量。
location: 用于窗口或框架的 Location 对象。请参阅 Location 对象。
name: 设置或返回窗口的名称。
Navigator: 对 Navigator 对象的只读引用。请参数 Navigator 对象。
opener: 返回对创建此窗口的窗口的引用。
outerheight: 返回窗口的外部高度。
outerwidth: 返回窗口的外部宽度。
pageXOffset: 设置或返回当前页面相对于窗口显示区左上角的 X 位置。
pageYOffset: 设置或返回当前页面相对于窗口显示区左上角的 Y 位置。
parent: 返回父窗口。
Screen: 对 Screen 对象的只读引用。请参数 Screen 对象。
self: 返回对当前窗口的引用。等价于 Window 属性。
status: 设置窗口状态栏的文本。
top: 返回最顶层的先辈窗口。
window: window 属性等价于 self 属性,它包含了对窗口自身的引用。
screenLeft,screenTop,screenX,screenY:
只读整数。声明了窗口的左上角在屏幕上的的 x 坐标和 y 坐标。IE、Safari 和 Opera 支持 screenLeft 和 screenTop,而 Firefox 和 Safari 支持 screenX 和 screenY。
方法:
alert(): 显示带有一段消息和一个确认按钮的警告框。
blur(): 把键盘焦点从顶层窗口移开。
clearInterval(): 取消由 setInterval() 设置的 timeout。
clearTimeout(): 取消由 setTimeout() 方法设置的 timeout。
close(): 关闭浏览器窗口。
confirm(): 显示带有一段消息以及确认按钮和取消按钮的对话框。
createPopup(): 创建一个 pop-up 窗口。
focus(): 把键盘焦点给予一个窗口。
moveBy(): 可相对窗口的当前坐标把它移动指定的像素。
moveTo(): 把窗口的左上角移动到一个指定的坐标。
open(): 打开一个新的浏览器窗口或查找一个已命名的窗口。
print(): 打印当前窗口的内容。
prompt(): 显示可提示用户输入的对话框。
resizeBy(): 按照指定的像素调整窗口的大小。
resizeTo(): 把窗口的大小调整到指定的宽度和高度。
scrollBy(): 按照指定的像素值来滚动内容。
scrollTo(): 把内容滚动到指定的坐标。
setInterval(): 按照指定的周期(ms为单位)来调用函数或计算表达式。
setTimeout(): 在指定的毫秒数后调用函数或计算表达式。
其中在window对象中最常用的毫无疑问是alert和document,但其中的setInterval与setTimeout也常于web开发中出现,如:

<div>
    <button id="btn1" onclick="stop();" >点我停止</button>
    <button id="btn2" onclick="getalert();" >开始弹窗</button>
    <button id="btn3" onclick="stopalert();" >停止弹窗</button>
</div>
<script onload="getalert()">
    var nowtime = setInterval(function(){
        getTime();
    },1000);//这里的二参为间隔时间单位毫秒
    var win;
    function getalert(){//自己调用自己形成循环
        alert("不断弹窗");
        win= setTimeout(function(){
        getalert();
    },1000);
    }
    function stopalert(){
        clearTimeout(win);//停止上述循环
    }
    function getTime(){
        var time = new Date();
        var t= time.toLocaleTimeString();
        document.getElementById("time1").innerHTML = t;
    }
    function stop(){
        clearInterval(nowtime);//  对setInternal进行停止,不是暂停
    }
</script>

2.History对象
history对象即历史对象,能让js使用和浏览器中的前进,后退机制。
方法包括:
back() : 加载 history 列表中的前一个 URL。
forward() : 加载 history 列表中的下一个 URL。
go() : 加载 history 列表中的某个具体页面。

3.Location对象
Location 对象包含有关当前 URL 的信息。
Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。
此对象中我们最常用的就是href属性,我们常用herf属性来返回我们当前访问网页的url,除此以外,Location对象中还有replace等方法用于替换,添加,刷新文档信息。

4.screen对象
Screen对象包含的是当前屏幕信息。主要是在做适配时用得到。
Screen对象中的属性重要的有avilheight,avilwidth以及Height和Width,分别表示可用屏高,可用屏宽以及屏幕高度,屏幕宽度。

二、异常处理

与大部分语言相同,js中大多也是用try catch语句来捕获异常,用throw语句将异常抛出,js中易遇到的错误及解释如下:
RangeError: raised when a numeric variable or parameter is outside of its valid range //变量超过其规定的值
ReferenceError: raised when de-referencing an invalid reference //
引用无效,即引用方未定义或已被删除
SyntaxError: raised when a syntax error occurs while parsing code in eval() //
语法出现错误
TypeError: raised when a variable or parameter is not a valid type //类型错误常由等号左右类型不一致引起
URIError: raised when encodeURI() or decodeURI() are passed invalid parameters //没有响应的url
下面举个例子:

<script>
    myFunc();
    function myFunc()
    {
        var a = 100;
        var b = 0;
        try{
            if ( b == 0 ){
                throw( "除0." );
            }else{
                var c = a / b;
            }
        }catch (e) {
            alert( e );
        }
        finally{
            alert("异常处理");
        }
    }
</script>

由上面代码可以看出js与大部分语言的异常处理基本一致,由try,catch,throw,finally构成,因此不再赘述。

//经验+3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值