2018-10-10 18:03:03 -04:00
---
id: cf1111c1c12feddfaeb3bdef
2020-12-16 00:37:30 -07:00
title: 用 if 语句来表达条件逻辑
2018-10-10 18:03:03 -04:00
challengeType: 1
2020-04-29 18:29:13 +08:00
videoUrl: 'https://scrimba.com/c/cy87mf3'
forumTopicId: 18348
2021-01-13 03:31:00 +01:00
dashedName: use-conditional-logic-with-if-statements
2018-10-10 18:03:03 -04:00
---
2020-12-16 00:37:30 -07:00
# --description--
`If` 语句用于在代码中做条件判断。关键字`if` 告诉 JavaScript 在小括号中的条件为真的情况下去执行定义在大括号里面的代码。这种条件被称为`Boolean` 条件,因为他们只可能是`true` (真)或`false` (假)。
当条件的计算结果为`true` ,程序执行大括号内的语句。当布尔条件的计算结果为`false` ,大括号内的代码将不会执行。
**伪代码**
2020-04-29 18:29:13 +08:00
< blockquote > if(< i > 条件为真< / i > ){< br > < i > 语句被执行< / i > < br > }< / blockquote >
2020-12-16 00:37:30 -07:00
**示例**
2020-04-29 18:29:13 +08:00
```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"
```
2020-12-16 00:37:30 -07:00
当`test` 被调用,并且传递进来的参数值为`true` , `if` 语句会计算`myCondition` 的结果,看它是真还是假。如果条件为`true` ,函数会返回`"It was true"` 。当`test` 被调用,并且传递进来的参数值为`false` , `myCondition` *不* 为`true` ,并且不执行大括号后面的语句,函数返回`"It was false"` 。
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
# --instructions--
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
在函数内部创建一个`if` 语句,如果该参数`wasThatTrue` 值为`true` ,返回`"Yes, that was true"` ,否则,并返回`"No, that was false"` 。
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
# --hints--
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
`trueOrFalse` 应该是一个函数。
2018-10-10 18:03:03 -04:00
```js
2020-12-16 00:37:30 -07:00
assert(typeof trueOrFalse === 'function');
```
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
`trueOrFalse(true)` 应该返回一个字符串。
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
```js
assert(typeof trueOrFalse(true) === 'string');
2018-10-10 18:03:03 -04:00
```
2020-12-16 00:37:30 -07:00
`trueOrFalse(false)` 应该返回一个字符串。
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
```js
assert(typeof trueOrFalse(false) === 'string');
```
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
`trueOrFalse(true)` 应该返回 "Yes, that was true"。
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
```js
assert(trueOrFalse(true) === 'Yes, that was true');
```
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
`trueOrFalse(false)` 应该返回 "No, that was false"。
2020-04-29 18:29:13 +08:00
2018-10-10 18:03:03 -04:00
```js
2020-12-16 00:37:30 -07:00
assert(trueOrFalse(false) === 'No, that was false');
2018-10-10 18:03:03 -04:00
```
2020-04-29 18:29:13 +08:00
2021-01-13 03:31:00 +01:00
# --seed--
## --seed-contents--
```js
function trueOrFalse(wasThatTrue) {
// Only change code below this line
// Only change code above this line
}
```
2020-12-16 00:37:30 -07:00
# --solutions--
2021-01-13 03:31:00 +01:00
```js
function trueOrFalse(wasThatTrue) {
if (wasThatTrue) {
return "Yes, that was true";
}
return "No, that was false";
}
```