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);}
