js-语句:https://www.yuque.com/zhuchaoyang/wrif6k/dss2mo

条件判断语句

if-else

if() 里面写的是条件判断,最终变成布尔值。
和 js 不同的是,判断条件必须是布尔值。
比如 0""undefinednull 等在 js 里也会走false,但是在dart里不行。

  1. if (true) {};
  2. if (0) {}; //报错
  1. compareScore(n) {
  2. if (n == 100) {
  3. return '满分';
  4. } else if (n >= 80 && n < 100) {
  5. return '优秀';
  6. } else if (n >= 60 && n < 80) {
  7. return '及格';
  8. } else {
  9. return '差';
  10. }
  11. }
  12. print(compareScore(100)); //满分
  13. print(compareScore(90)); //优秀
  14. print(compareScore(70)); //及格
  15. print(compareScore(40)); //差

switch case

  1. var n = 1;
  2. switch (n) {
  3. case 1:
  4. print('未开始');
  5. break;
  6. case 2:
  7. print('已结束');
  8. break;
  9. default:
  10. print('未知');
  11. break;
  12. }
  1. getStatus(status) {
  2. switch (status) {
  3. case 1:
  4. return '未开始';
  5. case 2:
  6. return '直播中';
  7. case 3:
  8. return '已结束';
  9. default:
  10. return '未知';
  11. }
  12. }
  13. print(getStatus(1)); //未开始
  14. print(getStatus(2)); //直播中
  15. print(getStatus(3)); //已结束
  16. print(getStatus(4)); //未知

循环

for 循环

for 循环属于前测试循环结构,条件成立才会执行循环体内代码。

for 循环的语法组成:

  • 定义初始值
  • 设定循环成立的条件(条件成立循环继续,不成立循环结束)
  • 条件成立会执行循环体中的内容
  • 执行步长累加操作
  1. for (var i = 0; i < 5; i++) {
  2. print(i); //依次输出 0 1 2 3 4
  3. }
  4. //第1步:声明变量 i=0
  5. //第2步:判断i<=5
  6. //第3步:console.log(i);
  7. //第4步:i++
  8. //第5步:从第2步再来,直到判断为false

break 和 continue 语句
break和continue语句用于在循环中精确地控制代码的执行。其中,break语句会立即退出循环,强制继续执行循环体后面的语句。而continue语句退出当前循环,继续后面的循环。

  1. for (var i = 0; i < 5; i++) {
  2. if (i == 3) {
  3. break; //强制结束整个循环,不执行后面代码
  4. }
  5. print(i); // 依次输出 0 1 2
  6. }
  7. for (var i = 0; i < 5; i++) {
  8. if (i == 3) {
  9. continue; //结束本轮循环(后面的代码将不再执行),继续执行下一轮循环
  10. }
  11. print(i); // 依次输出 0 1 2 4
  12. }

while 和 do…while

while 语句属于前测试循环语句,只有前置条件成立之后,才会执行循环体内代码。 do-while 语句属于后测试循环语句,是先执行循环体的代码,然后再判断条件是否成立。

  1. // 先判断,再运行
  2. var n1 = 1;
  3. while (n1 <= 0) {
  4. n1++;
  5. }
  6. print(n1); //1
  7. //先运行,再判断
  8. var n2 = 1;
  9. do {
  10. n2++;
  11. } while (n2 <= 0);
  12. print(n2); //2

for…in

  1. // var s1 = [1, 2, 3, 4];
  2. Set s1 = {1, 2, 3, 4};
  3. for (var k in s1) {
  4. print(k);
  5. }