if( i > 25 ) { alert("Greater than 25."); } else { alert("Less than or equal to 25."); }
第二种用法
1 2 3 4 5 6 7
if (i > 25) { alert("Greater than 25."); } elseif (i < 0) { alert("Less than 0."); } else { alert("Between 0 and 25, inclusive."); }
do-while语句
后测试语句,循环体的语句至少被执行一次
1 2 3 4
var i = 0; do { i += 2; } while (i < 2); //此时代码块只能被执行一次,也是至少执行的一次,碰到判断条件停止循环
while语句
先判断再执行,代码块的语句有可能永远不能执行
1 2 3 4
var i = 0; while(i < 10) { i += 2; } //先判断是否符合条件,再执行
for语句
前测试循环语句
1 2 3 4
for (initialzation; expression; post-loop-expression) { statement; }
示例:
1 2 3 4 5
var n = 10; var j = 0; for (var i = 0; i < n; i++) { j += 1; } //初始化i等于0,判断i小于n,执行代码快里的语句,再执行i++语句,后面依次循环
for-in语句
一种精准的迭代语句,可以用来枚举对象的属性
1 2 3
for ( property in expression) { statement; }
示例:
1 2 3
for (var propName in Window) { document.write(propName); }
break、continue、label语句
label 语句可以和break,continue在多重循环中搭配使用
1
label: statement; //label语句的格式
break语句用来完全跳出循环,continue语句用来跳出大循环中的一次循环并开始下一次循环
示例:break
1 2 3 4 5 6 7
var number = 0; for (var i = 0; i < 10; i++) { for (var j = 0; j < 10; j++) { if (i == 5 && j == 5) break; //number=55时,退出内层循环,所以少循环了5次 number++; } } //number最后的值为95
示例: continue
1 2 3 4 5 6 7
var number = 0; for (var i = 0; i < 10; i++) { for (var j =0; j < 10; j++) { if ( i == 5 && j == 5) continue; //number = 55时,跳过一次内层循环,最后少循环了一次 number++; } } //number最后的值为99
示例:break label
1 2 3 4 5 6 7 8 9 10
var number = 0; start: for (var i = 0; i < 10; i++) { for (var j = 0; j < 10; j++) { if (i == 5 && j == 5){ break start; } number++; } }
循环跳到start标签处,所以number最后的值为55
示例:continue label
1 2 3 4 5 6 7 8 9 10
var number = 0; start: for (var i = 0; i < 10; i++) { for (var j = 0; j < 10; j++) { if (i == 5 && j == 5){ continue start; } number++; } } //number = 95