浅谈js中switch的4种不同写法

2024年07月23日 建站教程

一般情况大家认为switch只有一种写法,下面web建站小编收集了一个不同的switch写法,代码如下:

第一种写法:

function switchS(score) {
  switch (true) {
    case score >= 90:
      return "优秀";
    case score >= 75:
      return "良好";
    case score >= 60:
      return "合格";
    default:
      return "不合格";
  }
}

第二种写法:

function switchS(score) {
  return ((value, rules) => rules.find(({ t }) => t(value)).v)(
    score,
    [
      { t: n => n >= 90, v: "优秀" },
      { t: n => n >= 75, v: "良好" },
      { t: n => n >= 60, v: "合格" },
      { t: () => true, v: "不合格" },
    ]
  );
}

第三种写法:

function switchS(score) {
  return (value => {
    switch (true) {
      case value >= 90:
        return "优秀";
      case value >= 75:
        return "良好";
      case value >= 60:
        return "合格";
      default:
        return "不合格";
    }
    })(score);
}

第四种写法:

function switchS(score) {
  const printGrade = (grade, score) => {
    console.log(grade, score);
    return grade;
  };
  return ((value, rules) => rules.find(({ t }) => t(value)).fn(value))(
    score,
    [
      { t: n => n >= 90, fn: score => printGrade("优秀", score) },
      { t: n => n >= 75, fn: score => printGrade("良好", score) },
      { t: n => n >= 60, fn: score => printGrade("合格", score) },
      { t: () => true, fn: score => printGrade("不合格", score) },
    ]
  );
}

本文链接:http://so.lmcjl.com/news/9019/

展开阅读全文
相关内容