if (条件 1) { 当条件 1 为 true 时执行的代码; } else if (条件 2) { 当条件 2 为 true 时执行的代码; } else { 当条件 1 和 条件 2 都不为 true 时执行的代码; }
JavaScript는 조건부 판단을 위해 if () { ... } else { ... }를 사용합니다. 예를 들어 연령에 따라 다른 콘텐츠를 표시하려면 if 문을 사용하여 다음을 구현할 수 있습니다.
var age = 20; if (age >= 18) { // 如果age >= 18为true,则执行if语句块 alert('adult'); } else { // 否则执行else语句块 alert('teenager'); }
else 문은 선택 사항입니다. 명령문 블록에 명령문이 하나만 포함된 경우 {}를 생략할 수 있습니다.
var age = 20; if (age >= 18) alert('adult'); else alert('teenager');
{}를 생략하면 나중에 일부 명령문을 추가하고 싶지만 {} 작성을 잊어버린 경우 if를 변경하게 될 위험이 있습니다. .. .else...의 의미(예:
var age = 20; if (age >= 18) alert('adult'); else console.log('age < 18'); // 添加一行日志 alert('teenager'); // <- 这行语句已经不在else的控制范围了
위 코드의 else 절은 실제로 원래 경고인 console.log('age < 18'); 실행에만 책임이 있습니다. ('teenager') ; 더 이상 if...else...의 제어 범위 내에 있지 않으며 매번 실행됩니다.
반대로, {}가 포함된 문은 잘못되지 않습니다.
var age = 20; if (age >= 18) { alert('adult'); } else { console.log('age < 18'); alert('teenager'); }
이것이 항상 {}를 작성하는 것이 좋습니다.
다행 조건부 판단
조건을 좀 더 자세히 판단하고 싶다면 여러 if...else의 조합을 사용하면 됩니다. ..:
var age = 3; if (age >= 18) { alert('adult'); } else if (age >= 6) { alert('teenager'); } else { alert('kid'); }
위의 다중 if...else... 조합은 실제로 if...else...:
var age = 3; if (age >= 18) { alert('adult'); } else { if (age >= 6) { alert('teenager'); } else { alert('kid'); }
의 두 레이어와 동일합니다. 그러나 우리는 일반적으로 다음과 같이 씁니다. 그렇지 않으면 함께 있으면 가독성을 높이기 위해. 여기서 else가 {}를 생략해도 문제가 없습니다. if 문만 포함되어 있기 때문입니다. 마지막으로 분리된 else는 {}를 생략하면 안 됩니다.
if...else... 문의 실행 기능은 여러 if...else... 문에서 특정 조건이 true인 경우 둘 중 하나를 선택하는 것입니다. 후속 판단은 더 이상 없습니다.
다음 코드에 Teenage가 표시되는 이유를 설명해보세요.
'use strict'; var age = 20; if (age >= 6) { alert('teenager'); } else if (age >= 18) { alert('adult'); } else { alert('kid'); }
age 값이 20이므로 실제로 age >= 6과 age >= 18 조건을 동시에 만족합니다. 조건부 판단의 순서를 설명하는 것은 매우 중요합니다. 성인용으로 표시되도록 수정해주세요.
if 조건부 판단문의 결과가 참도 거짓도 아니라면? 예를 들면
var s = '123'; if (s.length) { // 条件计算结果为3 // }
JavaScript에서는 null, undefine, 0, NaN 및 빈 문자열''을 false로 처리하고 그 외의 값은 모두 true로 처리하므로 위 코드의 조건부 판단 결과는 true입니다.
다음 섹션