diff --git a/1-js/02-first-steps/10-ifelse/2-check-standard/task.md b/1-js/02-first-steps/10-ifelse/2-check-standard/task.md index 262a3cc849..0ca4d36046 100644 --- a/1-js/02-first-steps/10-ifelse/2-check-standard/task.md +++ b/1-js/02-first-steps/10-ifelse/2-check-standard/task.md @@ -10,5 +10,5 @@ importance: 2 ![](ifelse_task2.svg) -[示例 src="ifelse_task2"] +[demo src="ifelse_task2"] diff --git a/1-js/02-first-steps/10-ifelse/3-sign/task.md b/1-js/02-first-steps/10-ifelse/3-sign/task.md index 1202308f08..1c87a084f0 100644 --- a/1-js/02-first-steps/10-ifelse/3-sign/task.md +++ b/1-js/02-first-steps/10-ifelse/3-sign/task.md @@ -12,4 +12,4 @@ importance: 2 在这个任务中,假设输入永远是一个数字。 -[示例 src="if_sign"] +[demo src="if_sign"] diff --git a/1-js/02-first-steps/10-ifelse/4-check-login/ifelse_task.svg b/1-js/02-first-steps/10-ifelse/4-check-login/ifelse_task.svg deleted file mode 100644 index f16e37a603..0000000000 --- a/1-js/02-first-steps/10-ifelse/4-check-login/ifelse_task.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - ifelse_task.svg - Created with sketchtool. - - - - - - - - Begin - - - - - - Canceled - - - - - - Canceled - - - - - - Welcome! - - - - - - I don't know you - - - - - - Wrong password - - - - - - - - - Who's there? - - - - - - Password? - - - - - - Cancel - - - - - - Cancel - - - - - - Admin - - - - - - TheMaster - - - - - - - - Other - - - - - - Other - - - - - \ No newline at end of file diff --git a/1-js/02-first-steps/10-ifelse/4-check-login/solution.md b/1-js/02-first-steps/10-ifelse/4-check-login/solution.md deleted file mode 100644 index 0b78ec82a9..0000000000 --- a/1-js/02-first-steps/10-ifelse/4-check-login/solution.md +++ /dev/null @@ -1,25 +0,0 @@ - - -```js run demo -let userName = prompt("Who's there?", ''); - -if (userName == 'Admin') { - - let pass = prompt('Password?', ''); - - if (pass == 'TheMaster') { - alert( 'Welcome!' ); - } else if (pass == '' || pass == null) { - alert( 'Canceled.' ); - } else { - alert( 'Wrong password' ); - } - -} else if (userName == '' || userName == null) { - alert( 'Canceled' ); -} else { - alert( "I don't know you" ); -} -``` - -请注意 `if` 块中水平方向的缩进。技术上是非必需的,但会增加代码的可读性。 diff --git a/1-js/02-first-steps/10-ifelse/4-check-login/task.md b/1-js/02-first-steps/10-ifelse/4-check-login/task.md deleted file mode 100644 index 9c9df8a4d0..0000000000 --- a/1-js/02-first-steps/10-ifelse/4-check-login/task.md +++ /dev/null @@ -1,25 +0,0 @@ -importance: 3 - ---- - -# 登陆验证 - -实现使用 `prompt` 进行登陆校验的代码。 - -如果访问者输入 `"Admin"`,那么使用 `prompt` 引导获取密码,如果输入的用户名为空或者按下了 `key:Esc` 键 — 显示 "Canceled",如果是其他字符串 — 显示 "I don't know you"。 - -密码的校验规则如下: - -- 如果输入的是 "TheMaster",显示 "Welcome!", -- 其他字符串 — 显示 "Wrong password", -- 空字符串或取消了输入,显示 "Canceled."。 - -流程图: - -![](ifelse_task.svg) - -请使用嵌套的 `if` 块。注意代码整体的可读性。 - -提示:将空字符串输入,prompt 会获取到一个空字符串 `''`。Prompt 运行过程中,按下 `key:ESC` 键会得到 `null`。 - -[示例] diff --git a/1-js/02-first-steps/10-ifelse/5-rewrite-if-question/solution.md b/1-js/02-first-steps/10-ifelse/5-rewrite-if-question/solution.md index 638ce81f13..ff32354fae 100644 --- a/1-js/02-first-steps/10-ifelse/5-rewrite-if-question/solution.md +++ b/1-js/02-first-steps/10-ifelse/5-rewrite-if-question/solution.md @@ -1,6 +1,6 @@ ```js -result = (a + b < 4) ? 'Below' : 'Over'; +let result = (a + b < 4) ? 'Below' : 'Over'; ``` diff --git a/1-js/02-first-steps/10-ifelse/5-rewrite-if-question/task.md b/1-js/02-first-steps/10-ifelse/5-rewrite-if-question/task.md index e2658eba37..5618c85357 100644 --- a/1-js/02-first-steps/10-ifelse/5-rewrite-if-question/task.md +++ b/1-js/02-first-steps/10-ifelse/5-rewrite-if-question/task.md @@ -4,13 +4,14 @@ importance: 5 # 使用 '?' 重写 'if' 语句 -使用三元运算符 `'?'` 重写下面的 `if` 语句: +使用条件运算符 `'?'` 重写下面的 `if` 语句: ```js +let result; + if (a + b < 4) { result = 'Below'; } else { result = 'Over'; } ``` - diff --git a/1-js/02-first-steps/10-ifelse/article.md b/1-js/02-first-steps/10-ifelse/article.md index 56f50e69d1..ef8deee2aa 100644 --- a/1-js/02-first-steps/10-ifelse/article.md +++ b/1-js/02-first-steps/10-ifelse/article.md @@ -2,11 +2,11 @@ 有时我们需要根据不同条件执行不同的操作。 -`if` 语句可以解决这个问题,条件运算符(三元),简称为“问号”运算符也可以解决。 +我们可以使用 `if` 语句和条件运算符 `?`(也称为“问号”运算符)去实现。 ## "if" 语句 -`if` 语句获得一个条件,计算这个条件表达式,如果计算结果是 `true`,就会执行对应的代码。 +`if` 语句计算括号里的条件表达式,如果计算结果是 `true`,就会执行对应的代码块。 如下: @@ -18,7 +18,7 @@ if (year == 2015) alert( 'You are right!' ); */!* ``` -在上面的例子中,条件是一个简单的相等性检查:`year == 2015`,但它可能更复杂。 +在上面的例子中,条件是一个简单的相等性检查(`year == 2015`),但它可能更复杂。 如果有多个语句要执行,我们必须将要执行的代码块封装在大括号内: @@ -48,7 +48,7 @@ if (0) { // 0 是 falsy } ``` -……但下面的条件 — 始终有效: +……但下面的条件 —— 始终有效: ```js if (1) { // 1 是 truthy @@ -105,7 +105,7 @@ if (year < 2015) { ## 三元运算符 '?' -有时我们需要根据一个条件去声明变量。 +有时我们需要根据一个条件去赋值一个变量。 如下所示: @@ -124,7 +124,7 @@ if (age > 18) { alert(accessAllowed); ``` -所谓的“三元”或“问号”操作符让我们可以更简便地达到目的。 +所谓的“三元”或“问号”操作符让我们可以更简短地达到目的。 它用问号 `?` 表示。“三元”意味着操作符有三个操作数。它实际上是JavaScript 中唯一一个有这么多操作数的操作符。 @@ -141,7 +141,9 @@ let result = condition ? value1 : value2 let accessAllowed = (age > 18) ? true : false; ``` -技术上,我们可以省略 `age > 18` 外面的括号。问号运算符的优先级较低。它在比较 `>` 后执行,所以也会执行相同的操作: +技术上,我们可以省略 `age > 18` 外面的括号。问号运算符的优先级较低,所以它在比较 `>` 后执行。 + +下面示例也会执行相同的操作: ```js // 比较运算符 “age > 18” 首先执行