标签:
4、逻辑控制语句
4.1条件结构
条件结构分为if结构和switch结构。
通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该任务。
在 JavaScript 中,我们可使用以下条件语句:
4.1.1 if 结构
只有当指定条件为 true 时,该语句才会执行代码。
语法:
if(condition)
{
//当条件为true时执行代码
}
请使用小写的if。使用大写字母(IF)会生成javaScript错误!
if...else 语句
请使用 if....else 语句在条件为 true 时执行代码,在条件为 false 时执行其他代码。
语法:
if (condition)
{
//当条件为true时执行的代码
}
else
{
//当条件不为true时执行的代码
}
代码风格建议:
if(condition)
{
doSomething();
}
else
{
doSomethingElse();
}
javaScript代码的这种风格继承自java,这在java编程语言的编程规范中有明确规定。在Crockford的编程规范、jquery核心风格指南、SqroutCore编程风格指南、
Google的javaScript风格指南以及Dojo编程风格指南中都出现过。
相关示例:
//错误的写法
if (condition) {
doSomething ();
}
doSomethingElse ();
//错误的写法
if (condition) {
doSomething();
doSomethingElse();
}
//不好的写法,尽管这是合法的javaScript的代码
if (condition)
doSomething();
//不好的写法,尽管这是合法的javaScript的代码
if (condition) doSomething();
//不好的写法,尽管这是合法的javaScript的代码
if (condition) { doSomething(); }
//好的写法
if (condition) {
doSomething();
}
4.1.2 switch 结构
请使用switch语句来选择要执行的多个代码块之一。
语法:
switch (n){
case 1:
//执行代码块1
break;
case 2:
//执行代码块2
break;
default:
//n与 case 1 和 case 2 不同执行的代码
}
工作原理:
首先设置表达式n(通常是一个变量)。随后表达式的值会与结构中的每个case的值做比较。则与该case关联的代码块会被执行,请使用break来阻止代码自动地向下一个case运行。
default的关健词使用:
请使用default关健词来规定匹配不存在时做的事情,使用时视业务情况而定。也可以在case后加个break或最后一个case后直接结束。
相关示例:
风格一:
switch (condition){
//明显的依次执行
case "first":
//代码
break;
case "second":
//代码
break;
case "third":
//代码
/* fall through */
default:
//代码
}
本人比较习惯使用此风格,和java语法是一样的。
风格二:
switch(condition) {
case "first":
//代码
break;
case "second":
//代码
break;
case "third":
//代码
break;
default:
//代码
}
此风格被Crockford的编程规范和Dojo编程风格指南所提倡。
4.2循环结构
如果您希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的。
不同类型的循环:
javaScript支持不同类型的循环:
4.2.1 for循环
for循环是您在希望创建循环时常会用到的工具。
下面是for循环的语法:
for (语句 1;语句 2; 语句 3)
{
//被执行的代码块
}
语句 1 (代码块)开始前执行 starts
语句 2 定义运行循环(代码块)的条件
语句 3 在循环(代码块)已被执行之后执行
实例1:
for (var i=0;i<5;i++){
x=x+"该数字为"+i+"<br>";
}
从上面的例子中,您可以看到:
语句1在循环开始之前设置变量初始化(var i=0)。
语句2定义循环运行的条件(i 必须小于5)。
语句3在每次代码块已被执行后增加一个值(i++)。
实例2:
var i=0,len=cars.length;
for (; i<len;){
document.write(cars[i]+"<br>");
i++;
}
语句1是可选的,可以在循环外进行定义并进行初始化。
语句2是用于评估初始变量的条件,同样也是可选。
语句3同样也是可选的,有多种用法如:增量可以是负数(i--),或者更大(i=i+15).通常会增加初始变量的值。
4.2.2.1 for/in循环
for/in语句循环遍历对象的属性:
语法:
for (variable in object){
}
实例:
var person=(fname:"json",lname:"Doe",age:25);
for (x in person){
txt=txt+person[x];
}
注意:for...in循环中的代码块将针对每个属性执行一次。
4.2.2.2 for/each循环即迭代循环(由于会影响性能等原因不建议使用)
for/each语句循环遍历对象类型变量的值:
语法:
for(元素类型t 元素变量x : 遍历对象obj){
//引用了x的javaScript语句;
}
相关示例:
var arr[] = {2, 3, 1},var x=null;
4.3循环中断
……
标签:
原文地址:http://www.cnblogs.com/john-sr/p/5724245.html