本文对比JavaScript与Java在基础语法上的异同,重点解析全等判断===、遍历对象属性的for/in循环以及简化对象访问的With语句,并说明代码断行的正确与错误写法,帮助开发者掌握JS特有的语法细节。
JavaScript的基础语法在许多方面与Java相似,因此无需重复介绍以下通用概念:
各类算术、比较及逻辑运算符;
条件分支语句,包括if...else和switch;
循环结构,涵盖for、while以及do...while循环;
流程控制标签、break与continue语句;
异常处理机制,即try...catch...throw语句。
如需了解上述通用内容,可参考文末提供的链接。
以下内容将聚焦于JavaScript独有的语法特性。
本文首先阐述上述通用概念中与Java存在差异的细节。
JavaScript与Java的差异细节
1. 全等判断 在JavaScript的比较运算符中,存在全等判断符===,用于同时检查值和数据类型是否完全一致。
2. for/in循环 JavaScript中的for/in循环类似于Java中的增强型for循环,但其主要用途是遍历对象的属性。
代码如下:
var person={fname:"John",lname:"Doe",age:25};
for (x in person)
{
txt=txt + person[x];
}
其中x代表属性名,person[x]表示该属性的值。
With语句的使用
3. With语句
使用With语句可以避免在访问对象属性和方法时重复指定参考对象。在With语句块内,所有JavaScript无法直接识别的属性和方法调用都将关联到该语句块指定的对象。
功能:为一段程序建立默认对象。
格式: with (<对象>){ <语句组> }
即:
代码如下:
With Object {
Statements
}
举例:当使用与 Document 对象有关的 write()或 writeln()方法时,往往使用如下形式:
代码如下:
document.writeln(”Hello!“);
如果需要显示大量数据时,就会多次使用同样的 document.writeln()语句,这时就可以像下面的程序那样,把所有以 Document 对象为参考对象的语句放到With 语句块中,从而达到减少语句量的目的。
代码如下:
<!DOCTYPE html>
<html>
<head>
<title>withTest.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<script type="text/javascript">
with (document) {
write("您好 !");
write("<br>这个文档的标题是 : \"" + title + "\".");
write("<br>这个文档的 URL 是: " + URL);
write("<br>现在不用每次都写出 document对象的前缀了!");
}
</script>
</body>
</html>
代码断行规则
4. 断行
可以使用反斜杠将一句代码断开:
代码如下:
document.write("Hello \
World!");
但是不能这么断句:
document.write \ ("Hello World!");