js-语句:https://www.yuque.com/zhuchaoyang/wrif6k/dss2mo
条件判断语句
if-else
if()
里面写的是条件判断,最终变成布尔值。
和 js 不同的是,判断条件必须是布尔值。
比如 0
、""
、undefined
、null
等在 js 里也会走false,但是在dart里不行。
if (true) {};
if (0) {}; //报错
compareScore(n) {
if (n == 100) {
return '满分';
} else if (n >= 80 && n < 100) {
return '优秀';
} else if (n >= 60 && n < 80) {
return '及格';
} else {
return '差';
}
}
print(compareScore(100)); //满分
print(compareScore(90)); //优秀
print(compareScore(70)); //及格
print(compareScore(40)); //差
switch case
var n = 1;
switch (n) {
case 1:
print('未开始');
break;
case 2:
print('已结束');
break;
default:
print('未知');
break;
}
getStatus(status) {
switch (status) {
case 1:
return '未开始';
case 2:
return '直播中';
case 3:
return '已结束';
default:
return '未知';
}
}
print(getStatus(1)); //未开始
print(getStatus(2)); //直播中
print(getStatus(3)); //已结束
print(getStatus(4)); //未知
循环
for 循环
for 循环属于前测试循环结构,条件成立才会执行循环体内代码。
for 循环的语法组成:
- 定义初始值
- 设定循环成立的条件(条件成立循环继续,不成立循环结束)
- 条件成立会执行循环体中的内容
- 执行步长累加操作
for (var i = 0; i < 5; i++) {
print(i); //依次输出 0 1 2 3 4
}
//第1步:声明变量 i=0
//第2步:判断i<=5
//第3步:console.log(i);
//第4步:i++
//第5步:从第2步再来,直到判断为false
break 和 continue 语句
break和continue语句用于在循环中精确地控制代码的执行。其中,break语句会立即退出循环,强制继续执行循环体后面的语句。而continue语句退出当前循环,继续后面的循环。
for (var i = 0; i < 5; i++) {
if (i == 3) {
break; //强制结束整个循环,不执行后面代码
}
print(i); // 依次输出 0 1 2
}
for (var i = 0; i < 5; i++) {
if (i == 3) {
continue; //结束本轮循环(后面的代码将不再执行),继续执行下一轮循环
}
print(i); // 依次输出 0 1 2 4
}
while 和 do…while
while 语句属于前测试循环语句,只有前置条件成立之后,才会执行循环体内代码。 do-while 语句属于后测试循环语句,是先执行循环体的代码,然后再判断条件是否成立。
// 先判断,再运行
var n1 = 1;
while (n1 <= 0) {
n1++;
}
print(n1); //1
//先运行,再判断
var n2 = 1;
do {
n2++;
} while (n2 <= 0);
print(n2); //2
for…in
// var s1 = [1, 2, 3, 4];
Set s1 = {1, 2, 3, 4};
for (var k in s1) {
print(k);
}