---
id: cf1111c1c12feddfaeb3bdef
challengeType: 1
videoUrl: 'https://scrimba.com/c/cy87mf3'
forumTopicId: 18348
localeTitle: 用 if 语句来表达条件逻辑
---

## Description
<section id='description'>
<code>If</code>语句用于在代码中做条件判断。关键字<code>if</code>告诉 JavaScript 在小括号中的条件为真的情况下去执行定义在大括号里面的代码。这种条件被称为<code>Boolean</code>条件,因为他们只可能是<code>true</code>(真)或<code>false</code>(假)。
当条件的计算结果为<code>true</code>,程序执行大括号内的语句。当布尔条件的计算结果为<code>false</code>,大括号内的代码将不会执行。
<strong>伪代码</strong>
<blockquote>if(<i>条件为真</i>){<br>  <i>语句被执行</i><br>}</blockquote>
<strong>示例</strong>

```js
function test (myCondition) {
  if (myCondition) {
     return "It was true";
  }
  return "It was false";
}
test(true);  // returns "It was true"
test(false); // returns "It was false"
```

当<code>test</code>被调用,并且传递进来的参数值为<code>true</code>,<code>if</code>语句会计算<code>myCondition</code>的结果,看它是真还是假。如果条件为<code>true</code>,函数会返回<code>"It was true"</code>。当<code>test</code>被调用,并且传递进来的参数值为<code>false</code>,<code>myCondition</code><em>不</em> 为<code>true</code>,并且不执行大括号后面的语句,函数返回<code>"It was false"</code>。
</section>

## Instructions
<section id='instructions'>
在函数内部创建一个<code>if</code>语句,如果该参数<code>wasThatTrue</code>值为<code>true</code>,返回<code>"Yes, that was true"</code>,否则,并返回<code>"No, that was false"</code>。
</section>

## Tests
<section id='tests'>

```yml
tests:
  - text: <code>trueOrFalse</code>应该是一个函数。
    testString: assert(typeof trueOrFalse === "function");
  - text: <code>trueOrFalse(true)</code>应该返回一个字符串。
    testString: assert(typeof trueOrFalse(true) === "string");
  - text: <code>trueOrFalse(false)</code>应该返回一个字符串。
    testString: assert(typeof trueOrFalse(false) === "string");
  - text: <code>trueOrFalse(true)</code>应该返回 "Yes, that was true"。
    testString: assert(trueOrFalse(true) === "Yes, that was true");
  - text: <code>trueOrFalse(false)</code>应该返回 "No, that was false"。
    testString: assert(trueOrFalse(false) === "No, that was false");

```

</section>

## Challenge Seed
<section id='challengeSeed'>

<div id='js-seed'>

```js
// Example
function ourTrueOrFalse(isItTrue) {
  if (isItTrue) {
    return "Yes, it's true";
  }
  return "No, it's false";
}

// Setup
function trueOrFalse(wasThatTrue) {

  // Only change code below this line.



  // Only change code above this line.

}

// Change this value to test
trueOrFalse(true);
```

</div>



</section>

## Solution
<section id='solution'>


```js
function trueOrFalse(wasThatTrue) {
  if (wasThatTrue) {
    return "Yes, that was true";
  }
  return "No, that was false";
}
```

</section>