5.1.2 JavaScript语法基础
1. JavaScript 变量
与其他编程语言一样,JavaScript也是采用变量存储数据。所谓变量,就是已命名的存储单元。
在JavaScript中,可以用var 关键字来申明变量,而不管在变量中存放什么类型的数值。变量的类型由赋值语句隐含确定。例如,如果赋予变量a数字值 5,则a 可参与整型操作;如果赋予该变量字符串值“hello!!”,则它可以直接参与字符串的操作;同样,如果赋予它逻辑值false,就可对它进行逻辑操作。不但如此,变量还可以先赋予一种类型数值,然后再根据需要赋予其他类型的数值。如以下示例中,变量 ab 先被赋予一数字值25,然后被赋予一个字符串。
var ab;
ab=25;
ab=”hello!”;
变量可以先申明再赋值,也可以在申明时直接赋值,例如,
var ab=25;
ab=”hello!”;
在JavaScript中,变量也可以事先不申明而直接使用,JavaScript会在第一次使用该变量时自动声明该变量。但是,先申明、再使用是规范用法。
JavaScript基本数据类型有:①值数字,如68、3.14159、−7.08E15;②逻辑值:true、false;③字符串,如“Hello!”;④null(空),包括一个null(空)值,定义空的或不存在的引用。
JavaScript变量命名约定如下:①变量名中可以包含数字0~9、大小写字母和下划线;②变量名的首字符必须为字母或下划线;③变量名对大小写敏感;④变量名的长度必须在一行内;⑤变量名中不能有空格或其他标点符号。
2. JavaScript运算符与表达式
1)运算符
运算符是完成操作的一系列符号,也称为操作符。JavaScript中的运算符主要有以下4类。
(1)算术运算符:包括+、−、∗、/、%(取模,即计算两个整数相除的余数)、++(递加1并返回数值或返回数值后递加1,取决于运算符的位置)、− −(递减1并返回数值或返回数值后递减1,取决于运算符的位置)。
(2)逻辑运算符:包括&&(逻辑与)、||(逻辑或)、!(逻辑非)。
(3)比较运算符:包括<、<=、>、>=、==(等于,先进行类型转换,再测试是否相等)、===(严格等于,不进行类型转换直接测试是否相等)、!=(不等于,进行类型转换,再测试是否不等)、!==(严格不等于,不进行类型转换直接测试是否不等)。
(4)连接运算符:+(字符串接合操作,连接+两端的字符串成为一个新的字符串)。
2)表达式
表达式是运算符和操作数的组合。表达式通过求值确定表达式的值,这个值是对操作数实施运算后产生的结果。有些运算符将数值赋予一个变量,而另一些运算符则可以用在其他表达式中。
表达式可以分为算术表达式、字符串表达式、赋值表达式及逻辑表达式等。
例如,3+4∗a是算术表达式,“Hello”+“,”+“How do you do!”是字符串表达式,b=3+4∗a是赋值表达式,i>=10 && j<20是逻辑表达式。
3. JavaScript语句
在任何一门编程语言中,程序的逻辑都是通过编程语句来实现的。JavaScript区分大小写字符,一般情况下,每条语句结尾处要有分号“;”(程序结构控制语句例外)。下面来学习几种程序结构控制语句。
1)条件语句
条件语句可以进行条件判断,从而选择需要执行的任务。在JavaScript中提供了if 语句、if else 语句以及switch语句等三种条件语句。
(1)if 语句是最基本的条件语句,它的格式如下:
if(condition)// if判断语句,括号里是条件。
{
代码块;
} //大括号内里是要执行的代码。
如果if后小括号里的表达式的值为真,则执行大括号内的代码块,否则就跳过。如果要执行的语句只有一条,那么可以省去大括号,把整个if语句写在一行。例如,
if(a==1)a++;
如果要执行的语句有多条,也可以写在一行,但不能省去大括号,例如,
if(a==1){a++;b--;}
(2)if else 语句。如果需要在表达式为假时执行另外一个语句,则可以使用else关键字扩展if语句。if else语句的格式如下:
if(condition)
{ 代码块 1;}
else
{ 代码块 2;}
当代码块只有一条语句时,可以省掉大括号。实际上,代码块1和代码块2中还可再包含条件语句,形成条件语句嵌套。
还有一种if … else if的用法,格式如下:
if(condition1)
{代码块1;}
else if (condition2){代码块2;}
else if (condition3)
{代码块3;}
...
else
{代码块n;}
这种格式表示只要满足任何一个条件,则执行相应的语句,否则执行最后一条语句。
(3)switch语句。如果需要对同一个表达式进行多次判断,那么就可以使用switch语句,格式如下:
switch(condition)
{ //注意:必须用大括号将所有的 case 括起来。
case value1:
Statement1; //注意:此处即使用了多条语句,也不能使用括号。
break; /∗ 注意:使用break语句跳出switch,否则会继续执行下一个case语句 ∗/
case value2:
Statement2;
break;
...
case valueN:
statementN;
break;
default:
statement;
}
说明:switch格式里的condition 是变量,通过比较变量condition的值与某个case后的值,从而执行相应的case后语句。
其实,这种格式相当于if … else if 语句,你可以思考一下如何用if …else if改写上面的switch语句。
2)循环语句
循环语句用于在一定条件下重复执行某段代码。在JavaScript中提供了多种循环语句:for 循环语句、while循环语句以及do while循环语句,同时还提供了break语句用于跳出循环,continue语句用于终止当次循环并继续执行下一次循环。下面介绍几种常用的循环语句的语法。
(1)for 循环语句。
for循环语句的格式如下:
for(initial;condition;adjust)
{
循环体代码块;
}
for循环的执行步骤如下:
① 执行initial语句,完成计数器初始化;
② 判断条件表达式condition是否为真,如果为真执行循环体语句,否则退出循环;
③ 执行循环体语句后,执行adjust语句;
④ 重复步骤②、③,直到条件表达式为假时退出循环。
(2)while 循环语句。
while循环语句的格式如下:
while(expression)
{
循环体代码块;
}
while语句执行步骤如下:
① 计算expression表达式的值;
② 如果expression 表达式的值为真,则执行循环体,否则跳出循环;
③ 重复执行步骤①、②,直到跳出循环。
(3)do while 循环语句。
do while 语句是while语句的变体,格式如下:
do{
循环体代码块;
}
while (expression)
它的执行步骤如下:
① 执行循环体语句;
② 计算expression 表达式的值;
③ 如果表达式的值为真,则再次执行循环体语句,否则退出循环;
④ 重复②、③,直到退出循环。
可见,do while 和 while语句的区别是:do while语句是先执行循环体,再判断循环条件;而while循环语句是先判断循环条件,再执行循环体。在do while循环中,循环体语句至少执行一次。
注意:无论采用哪一种循环语句,都必须注意控制循环的结束条件,以免出现“死循环”。
(4)break和continue 语句进一步控制循环。
break语句提供无条件跳出当前循环的功能。而continue语句的作用是终止当次循环,跳转到循环的开始处继续执行下一次的循环。
例如,有以下while循环结构代码。
-------------------------清单5-4 5-4.html---------------------------
<html>
<head> <title>while循环</title> </head>
<body>
<Script language="JavaScript" type="text/JavaScript">
var i=0;
while(i<100)
{document.write (i+" ");
i++;}
</Script>
</body>
</html>
--------------------------------------------------------------------
浏览结果如图5-4所示。
图5-4 JavaScript循环的应用
将以上while循环改为do while循环:
var i=0;
do{
document.write (i+" ");
i++;}
while(i<100)
或者,改为for循环:
for(i=0;i<100;i++){
document.write (i+" ");}
还可以修改为如下形式的while循环:
var i=0;
while(true) //使用while循环和break语句
{ document.write (i+" ");
i++;
if(i>=100)break;}
浏览结果都与图5-4所示的相同。
4. JavaScript函数
1)定义函数
函数是已定义的代码块,函数中的系列语句被作为一个整体来引用、执行。
函数必须先定义、后使用。函数定义通常放在网页文件的头部(head),也可以在js文件中定义,然后将js文件链接到网页头部中来。
函数的定义格式如下:
function functionName(parameter1,parameter2,...)
{
程序代码块;
}
functionName是自定义的函数名称,parameter1、parameter2是调用函数时的参数名称(名称)。函数名和参数名都是区分大小写的。
2)函数的返回值
如果需要函数返回值,那么可以使用return语句,需要返回的值应放在return之后。如果return后没有指明数值或没有return语句,则函数返回值为不确定值。
另外,函数返回值也可以直接赋予给变量或用于表达式中,如5-5.html中定义的函数有返回值。
---------------------------清单5-5 5-5.html-------------------------
<html>
<head>
<title>定义函数</title>
<Script language="JavaScript" type="text/JavaScript">
function he(a,b)
{ return (a+b); }
</Script>
</head>
<body>
<Script language="JavaScript" type="text/JavaScript">
document.write(”8+7=”+he(8,7));
</Script>
</body>
</html>
--------------------------------------------------------------------
浏览结果如图5-5所示。
图5-5 函数的定义与应用
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。