简介
表达式在 JavaScript
中是短语,那么语句就是整句命令。
表达式用来计算出一个值,语句用来执行以使某件事发生
语句 | 语法 | 用途 |
---|---|---|
break |
break [label]; |
退出最内层循环或者退出switch 语句,或者退出label 指定的语句 |
case |
case expression: |
在switch 语句中标记一条语句 |
continue |
continue [label]; |
重新开始最内层的循环或重新开始label 指定的循环 |
debugger |
debugger; |
断点器调试 |
default |
default; |
在switch 中标记默认的语句 |
do-while |
do statement while(expression); |
while 循环的一种替代形式 |
empty |
; |
什么都不做 |
for |
for(init;expr;incr) statement |
简写的循环结构 |
for-in |
for(var in object) statement |
遍历一个对象的属性 |
function |
function name([param[],...]) {statement} |
声明一个函数 |
if-else |
if (expression) statement1 [else statement2] |
条件判断执行 |
label |
label:statement |
给statement 指定一个名字label |
return |
return [expression]; |
从函数返回一个值 |
switch |
switch(expression){statement} |
用case 或者default 语句标记的多分支语句 |
throw |
throw expression; |
抛出异常 |
try |
try {statement} [catch {handler statement}] [finally {cleaup statement}] |
捕获异常 |
use strict |
"use strict" |
对脚本和函数应用严格模式 |
var |
var name=[=expr][,...]; |
声明并初始化一个或多个变量 |
while |
while(expression) statement |
基本的循环结构 |
with |
with(object) statement |
扩展作用域链 |
break 和 continue 语句
break
和continue
语句用于在循环中精确地控制代码的执行。break
语句会立即退出循环,强制继续执行循环后面的语句。continue
语句虽然也是立即退出循环,但退出循环后会从循环的顶部继续执行。break
和continue
语句都可以与label
语句联合使用,从而返回代码中特定的位置。这种联合使用的情况多发生在循环嵌套的情况下
// break
var num = 0;
for (var i = 1; i < 10; i++) {
if (i % 5 == 0) {
break;
}
num++;
}
console.log(num); // 4
// continue
var num = 0;
for (var i = 1; i < 10; i++) {
if (i % 5 == 0) {
continue;
}
num++;
}
console.log(num); // 8
// break label
var num = 0;
outermost:
for (var i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
if (i == 5 && j == 5) {
break outermost;
}
num++;
}
}
console.log(num); // 55
// continue label
var num = 0;
outermost:
for (var i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
if (i == 5 && j == 5) {
continue outermost;
}
num++;
}
}
console.log(num); // 95
关卡
var k;
for(i=0, j=0; i<10, j<6; i++, j++){
k = i + j;
}
console.log(k); // 10
/**
* 5 + 5 = 10
*/
var nums = [12, 32, 54, 56, 78, 89];
for(var n in nums){
console.log(n); // 0,1,2,3,4,5
}
function showCase(value) {
switch (value) {
case 'A':
console.log('Case A');
break;
case 'B':
console.log('Case B');
break;
case undefined:
console.log('undefined');
break;
default:
console.log('Do not know!');
}
}
showCase(new String('A')); // "Do not know!"
/**
* new String('A') 生成的是字符串对象,不是普通字符串
*/
function showCase(value) {
switch (value) {
case 'A':
console.log('Case A');
case 'B':
console.log('Case B');
break;
case undefined:
console.log('undefined');
break;
default:
console.log('Do not know!');
}
}
showCase(String('A')); // "Case A","Case B"
/**
* case 'A'下面没有 break
*/
var i = 0;
for (;;) {
if (i = 2) {
continue;
}
if (i > 20) {
break;
}
i++;
}
console.log(i); // 死循环
/**
* continue会跳出本次循环,继续执行下次循环,i = 2 时就会一直跳出循环
*/
发表评论