语句是 JavaScript 的基本执行单位 JavaScript 要求所有的语句都以分号 (;)结 束。语句既可以是简单的赋值语句,也可以是算术运算语句 还可以是逻辑运算语句等。
语句块
所谓语句块就是使用花括号包含的多个语句,语句块是一个整体的执行体,类似于 个单独的语句。下面是语句块示例:
{
x = Math.PI;
cx = Math . cos (x) ;
alert( "Hello JavaScript");
}
虽然语句块类似于一个单独的语句,但语句块后不需要以分号结束。但语句块 中的每个语句都需要 以分号结束
空语句
最简单的空语句仅有 个分号(,) 如下是 个空语句:
//空语句
;
上面 空语句没有丝毫用处,因此实际中几乎不会使用这种空语句。但空语句主要用于没有循环体的循环 。看如下代码
<script type=" text/javascript " >
//声明一个数组
var a= [] ;
//使用空语句,完成数组的初始化
for (var i = 0 ; i < 10 ; a[i++] = i + 20) ;
// 遍历数组元素
for ( index in a )
{
document .writeln(a[index] + "<br />" );
}
</script>
异常抛出语句
JavaScript 需要抛出异常时,总是通过throw 语句抛出 Error 对象。抛出 Error 对象的语法
throw new Error(errorString);
在代码执行过程中, 旦遇到异常,立即寻找对应的异常捕捉块 catch 块),如果没有对应的异常捕捉(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 属性,而不是通过 getMessage() 方法实现的
with 语句
with 语句是一种更简洁的写法,使用 with 语句可以避免重复书写对象 with 语句的语法格式如下
with(object)
{
statements
}
with(docurnent)
{
writeln( "Hello<br> " );
writeln( "World<br> " ) ;
writeln( "JavaScript<br>" );
}
with 语句的主要作用是避免重复书写同一个对象