2020-10-06 23:10:08 +05:30

2.2 KiB

id, challengeType, videoUrl, forumTopicId, localeTitle
id challengeType videoUrl forumTopicId localeTitle
5690307fddb111c6084545d7 1 https://scrimba.com/c/cwNvMUV 18228 if else 语句中的逻辑顺序

Description

ifelse if语句中代码的执行顺序是很重要的。 在条件判断语句中,代码的执行顺序是从上到下,所以你需要考虑清楚先执行哪一句,后执行哪一句。 这有两个例子。 第一个例子:
function foo(x) {
  if (x < 1) {
    return "Less than one";
  } else if (x < 2) {
    return "Less than two";
  } else {
    return "Greater than or equal to two";
  }
}

第二个例子更改了代码的执行顺序:

function bar(x) {
  if (x < 2) {
    return "Less than two";
  } else if (x < 1) {
    return "Less than one";
  } else {
    return "Greater than or equal to two";
  }
}

这两个函数看起来几乎一模一样,我们传一个值进去看看它们有什么区别。

foo(0) // "Less than one"
bar(0) // "Less than two"

Instructions

更改函数的逻辑顺序以便通过所有的测试用例。

Tests

tests:
  - text: <code>orderMyLogic(4)</code>应该返回 "Less than 5"。
    testString: assert(orderMyLogic(4) === "Less than 5");
  - text: <code>orderMyLogic(6)</code>应该返回 "Less than 10"。
    testString: assert(orderMyLogic(6) === "Less than 10");
  - text: <code>orderMyLogic(11)</code>应该返回 "Greater than or equal to 10"。
    testString: assert(orderMyLogic(11) === "Greater than or equal to 10");

Challenge Seed

function orderMyLogic(val) {
  if (val < 10) {
    return "Less than 10";
  } else if (val < 5) {
    return "Less than 5";
  } else {
    return "Greater than or equal to 10";
  }
}

// Change this value to test
orderMyLogic(7);

Solution

function orderMyLogic(val) {
  if(val < 5) {
    return "Less than 5";
  } else if (val < 10) {
    return "Less than 10";
  } else {
    return "Greater than or equal to 10";
  }
}