条件语句if else ,switch ,while ,do.while
一、if ..else 语句
语法:if (条件){ 代码 } , 当条件为true时 才执行后面的代码
if (条件 ){ 代码1 }else{ 代码2 } ,当条件为true,执行代码1,;条件为false,执行代码2 。
if (条件1 ){ 代码1 }else if ( 条件2 ){ 代码2 }else{ 代码3 } 。
二、do..while 语句
do-while 语句是一种后测试循环语句,在对条件表达式求值之前,循环体内的代码至少会被执行一次
do {
statement
} while (expression);
//下面是一个示例:
var i = 0;
do {
i =i+ 2;
} while (i < 10);
alert(i);
三、while 语句
while 语句属于前测试循环语句
var i = 0; while (i < 10) { i += 2; }
四、for 语句
执行步骤: 1执行for圆括号的var i=0 ,2执行for圆括号的i<count,3执行花括号{}里面的代码alert(i),4最后执行for圆括号的i++ ,5 跳到步骤2,若2符合再步骤3,再步骤4... 直到条件2不满足
var count = 10; for (var i = 0; i < count; i++){ alert(i); }
也可用while语句写:
var count = 10;
var i = 0;
while (i < count){
alert(i);
i++;
}
break和continue
break 和continue 语句用于在循环中精确地控制代码的执行。先假设循环10次,break是跳出整个循环体;而continue是跳出这一次循环,从循环体开头执行下一次循环
五、for in 语句
for-in 语句是一种精准的迭代语句,可以用来枚举对象的属性
for (var propName in window) {
document.write(propName);
}
在这个例子中,我们使用for-in 循环来显示了BOM 中window 对象的所有属性。每次执行循环
时,都会将window 对象中存在的一个属性名赋值给变量propName。这个过程会一直持续到对象中的
所有属性都被枚举一遍为止
六、switch 语句
switch 语句与if 语句的关系最为密切,而且也是在其他语言中普遍使用的一种流控制语句。
switch (expression) {
case value: statement
break;
case value: statement
break;
case value: statement
break;
default: statement
}
switch 语句中的每一种情形(case)的含义是:“如果表达式等于这个值(value),则执行后面的
语句(statement)”。而break 关键字会导致代码执行流跳出switch 语句。
可以在switch 语句中使用任何数据类型(在很多其他语言中只能使用数值),无论是字符串,还是对象都没有
问题。其次,每个case 的值不一定是常量,可以是变量,甚至是表达式
switch ("hello world") {
case "hello" + " world":
alert("Greeting was found.");
break;
case "goodbye":
alert("Closing was found.");
break;
default:
alert("Unexpected message was found.");
}
或者:
var num = 25;
switch (true) {
case num < 0:
alert("Less than 0.");
break;
case num >= 0 && num <= 10:
alert("Between 0 and 10.");
break;
case num > 10 && num <= 20:
alert("Between 10 and 20.");
break;
default:
alert("More than 20.");
}
七、with 语句
with 语句的作用是将代码的作用域设置到一个特定的对象中
定义with 语句的目的主要是为了简化多次编写同一个对象的工作,如下面的例子所示:
var qs = location.search.substring(1);
var hostName = location.hostname;
var url = location.href;
上面几行代码都包含location 对象。如果使用with 语句,可以把上面的代码改写成如下所示:
with(location){
var qs = search.substring(1);
var hostName = hostname;
var url = href;
}