javascript语法详解(六)----语句

来源:互联网 发布:生成对抗网络 论文 编辑:程序博客网 时间:2024/05/22 10:26

语句是javascript的基本执行单位,javascript中所有语句都以(;)结束,包括赋值语句,算术运算语句,逻辑运算语句,以及一些特殊的语句。

一.语句块

所谓语句块就是用花括号包含的多个语句,语句块是一个整体的执行体类似于单个语句。语句块后不需要以分号结束。语句块不能作为变量的作用域。

<script type="text/javascript">    {        x = Math.PI;        document.write(x);    }</script>
语句块通常用于if-else,for,do-while

二.空语句

最简单的空语句只有一个分号(;),只要用于没有循环体的循环。

<script type="text/javascript">    var a = [];    for (var i = 0; i < 10; a[i++] = i + 20);    for (index in a)        document.write(a[index]+'<br/>');</script>
三.异常抛出语句

javascript支持异常处理,支持手动抛出异常,javascript所有异常都属于Error对象,当javascript需要抛出异常时,总是通过throw语句抛出Error对象,语法如下:

throw new Error(errorstring);
javascript既允许在代码执行过程中抛出异常,也允许在函数定义中抛出异常。在代码执行过程中,一旦遇到异常,立即寻找对应的catch模块,如果没有对应的catch模块,异常将传播给浏览器,程序将非正常终止。

<script type="text/javascript">    for (var i = 0; i < 10; i++) {        document.write(i + '<br/>');        if (i > 4)            throw new Error("自定义错误");    }</script>
当i=5时手动抛出异常,但没有catch模块,因而异常传播到浏览器,引起程序非正常终止,浏览器也有相关错误提示(chrome浏览器按ctrl+shift+i打开调试控制台)

Uncaught Error: 自定义错误 localhost/:46host:localhostdata:undefinedevent.returnValue is deprecated. Please use the standard event.preventDefault() instead.
四.异常捕捉语句

当程序出现异常时,这种异常不管是用户手动抛出的异常,还是系统本身的异常,都可使用catch捕捉异常。javascript只有一个异常类,最多只能有一个catch块,语法格式如下:(finally块可省略,一旦指定总会执行)

try {        statements    }    catch (e) {        statements    }    finally {        statements    }

<script type="text/javascript">    try {        for (var i = 0; i < 10; i++) {            document.write(i + '<br/>');            if (i > 4)                throw new Error("自定义错误");        }    }    catch (e) {        document.write("系统出现异常"+e.message+'<br/>');    }    finally {        document.write("finally块" );    }</script>
输出:
0
1
2
3
4
5
系统出现异常自定义错误
finally块


五.with语句

使用with语句可以避免重复书写对象,语法如下

with(object)

{

statements

}

下面两种写法等价,with语句可以避免重复书写document对象。

<script type="text/javascript">    document.writeln("hello<br/>");    document.writeln("world<br/>");    document.writeln("javascript<br/>");</script>
<script type="text/javascript">    with (document) {        writeln("hello<br/>");        writeln("world<br/>");        writeln("javascript<br/>");    }</script>

0 0
原创粉丝点击