语句是JavaScript的基本执行单位。JavaScript 要求所有的语句都以分号( ; ) 结束。语句既可以是简单的赋值语句,也可以是算术运算语句,还可以是逻辑运算语句等。除此之外,还有一些特殊的语句,下面具体介绍这些特殊的语句。
语句块
所谓语句块就是使用花括号包含的多个语句,语句块是一个整体的执行体,类似于一个单独的语句。
x = Math.PI;
cx = Math.cos(x) ;
alert("Hello JavaScript") ;
}
空语句
最简单的空语句仅有一个分号(;),为了简化代码,它一般用于循环语句,
<script type="text/javascript">
//声明一个数组
var a = [];
//使用空语句,完成数组的初始化
for (vari=0;i<10;a[i++]=i+20);
//遍历数组元素
for ( index in a)
document .writeln(a[index] + "<br />") ;
}
</script>
异常抛出语句
JavaScript支持异常处理,支持手动抛出异常。在JavaScript中,所有异常都是Error 对象。当JavaScript需要抛出异常时,总是通过throw语句抛出Error 对象。抛出Error 对象的语法如下:
throw new Error (errorString) ;
JavaScript既允许在代码执行过程中抛出异常,也允许在函数定义中抛出异常。在代码执行过程中,一旦遇到异常,立即寻找对应的异常捕捉块(catch块),如果没有对应的异常捕捉块,异常将传播给浏览器,程序非正常中止。
<script type="text/javascript">
//对计数器i循环
for (var i = 0; 1 < 10 ; i++)
{
//在页面输出i
document.writeln(i + '<br />');
//当i> 4时,抛出用户自定义异常
if (i > 4)
throw new Error('自定义的错误!');
}
</script>
异常捕捉语句
当程序出现异常时,这种异常不管是用户手动抛出的异常,还是系统本身的异常,都可使用catch捕捉异常。JavaScript 代码运行中一旦出现异常,程序就跳转到对应的catch块。异常捕捉语句的语法格式如下:
try{
statements
}
catch(e){
statements
}
finally{
statements
}
这种异常捕捉语句大致上类似于Java的异常捕捉语句,但有一些差别:因为JavaScript的异常体系远不如Java丰富,因此无须使用多个catch块。与Java异常机制类似的是,finally块是可以省略的,但一- 旦指定了finally 块, finally 代码块就总会获得执行的机会。
<script type="text/javascript">
try
{
for (var i=0;i<10;i++){
//在页面输出i值
document.writeln(i + '<br>');
//当i大于4时,抛出异常
if(i>4)
throw new Error('用户自定义错误');
}
}
//如果try块中的代码出现异常,则自动跳转到catch块执行
catch (e){
document.writeln('系统出现异常' + e.message + '<br>') ;
}
// finally 块的代码总可以获得执行的机会
finally{
document . writeln('系统的finally块');
}
</script>
归纳起来,JavaScript 异常机制与Java异常机制存在如下区别。
- JavaScript只有一个异常类:Error,无须在定义函数时声明抛出该异常,所以没有throws关键字。
- JavaScript 是弱类型语言,所以catch语句后括号里的异常实例无须声明类型。
- JavaScript 只有一个异常类,所以try块后最多只能有一个catch块。
- 获取异常的描述信息是通过异常对象的message属性,而不是通过getMessage0方法实
现的。
with语句
with语句是一种简介写法,它可以避免一个对象因为出现太多而重复书写
比如
with (document){
writeln("Hello<br>") ;
writeln("World<br>") ;
writeln ("JavaScript<br>") ;
}