2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
id: cf1111c1c12feddfaeb3bdef
|
2021-03-14 21:20:39 -06: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--
|
|
|
|
|
|
2021-11-06 08:56:52 -07:00
|
|
|
|
`if` 语句用于在代码中做出决定。 关键字 `if` 告诉 JavaScript 在小括号中的条件为真的情况下去执行定义在大括号里面的代码。 这种条件被称为 `Boolean` 条件,因为他们只可能是 `true`(真)或 `false`(假)。
|
2020-12-16 00:37:30 -07:00
|
|
|
|
|
2021-03-14 21:20:39 -06:00
|
|
|
|
当条件的计算结果为 `true`,程序执行大括号内的语句。 当布尔条件的计算结果为 `false`,大括号内的代码将不会执行。
|
2020-12-16 00:37:30 -07:00
|
|
|
|
|
2021-03-14 21:20:39 -06:00
|
|
|
|
**伪代码**
|
2020-12-16 00:37:30 -07:00
|
|
|
|
|
2021-03-14 21:20:39 -06:00
|
|
|
|
<blockquote>if(<i>条件为真</i>){<br> <i>语句被执行</i><br>}</blockquote>
|
2020-12-16 00:37:30 -07:00
|
|
|
|
|
2021-03-14 21:20:39 -06:00
|
|
|
|
**示例**
|
2020-04-29 18:29:13 +08:00
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
function test (myCondition) {
|
|
|
|
|
if (myCondition) {
|
2021-11-06 08:56:52 -07:00
|
|
|
|
return "It was true";
|
2020-04-29 18:29:13 +08:00
|
|
|
|
}
|
|
|
|
|
return "It was false";
|
|
|
|
|
}
|
2021-11-06 08:56:52 -07:00
|
|
|
|
|
2021-03-14 21:20:39 -06:00
|
|
|
|
test(true);
|
|
|
|
|
test(false);
|
2020-04-29 18:29:13 +08:00
|
|
|
|
```
|
|
|
|
|
|
2021-03-14 21:20:39 -06:00
|
|
|
|
`test(true)` 返回字符串 `It was true`,`test(false)` 返回字符串 `It was false`。
|
|
|
|
|
|
|
|
|
|
当 `test` 被调用,并且传递进来的参数值为 `true` 时,`if` 语句会计算 `myCondition` 的结果,看它是否为 `true`。 如果条件为 `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
|
|
|
|
|
2021-03-14 21:20:39 -06: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
|
|
|
|
|
2021-03-14 21:20:39 -06: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
|
|
|
|
|
2021-03-14 21:20:39 -06: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
|
|
|
|
```
|
|
|
|
|
|
2021-03-14 21:20:39 -06: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
|
|
|
|
|
2021-03-14 21:20:39 -06: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
|
|
|
|
|
2021-03-14 21:20:39 -06: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";
|
|
|
|
|
}
|
|
|
|
|
```
|