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

语句是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/:46
host:localhost
data:undefined
event.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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值