if...else
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2015å¹´7æ.
ç¶æ¢ä»¶æç«çæåæå·è¡ if é³è¿°å¼è£¡çç¨å¼ï¼èä¸æç«æåå·è¡å¦å¤ä¸åé³è¿°å¼ã
å試ä¸ä¸
function testNum(a) {
let result;
if (a > 0) {
result = "positive";
} else {
result = "NOT positive";
}
return result;
}
console.log(testNum(-5));
// Expected output: "NOT positive"
èªæ³
if (condition)
statement1
// With an else clause
if (condition)
statement1
else
statement2
condition-
ä¸åæç«æä¸æç«çéç®å¼ã
statement1-
妿 if ä¸çæ¢ä»¶(conditions)çºçæå·è¡é³è¿°å¼(statements)ãé³è¿°å¼å¯ä»¥çºä»»ä½å §å®¹ï¼å å«å·¢çå¼(nested)ç if é³è¿°ãç¶è¦å·è¡å¤è¡çé³è¿°å¼(statements)æï¼ä½¿ç¨åå¡(block)å°æè¦å·è¡çé³è¿°å¼å è¦ã妿ä¸éè¦å·è¡ä»»ä½å使ï¼å䏿°å¯«ä»»ä½é³è¿°å¼(empty statement)ã
statement2-
ç¶ä»¶ä¸æç«ææå·è¡çé¨ä»½ï¼ç¶ else 被æ°å¯«æææè¢«å·è¡ãå¯ä»¥æ¯ä»»ä½çé³è¿°å¼ï¼å å«ä½¿ç¨åå¡(block)åå·¢ç(nested)çé³è¿°ã
æè¿°
å¤éç if...else é³è¿°å¼å¯ä»¥ä½¿ç¨ else if åå¥ä¾å»ºç«ä¸åå·¢ççµæ§çå¥åãè¦è¨ä½ï¼å¨ JavaScript 䏿²æ elseif (ä¸åå®å) çèªæ³å¯ä»¥ç¨ã
if (condition1)
statement1
else if (condition2)
statement2
else if (condition3)
statement3
// â¦
else
statementN
å°å·¢ççµæ§é©ç¶çæçå¾ï¼æåè½æ´äºè§£å ¶èå¾éä½çé輯ï¼
if (condition1)
statement1
else
if (condition2)
statement2
else
if (condition3)
statement3
// â¦
妿å¨ä¸åæ¢ä»¶å¼ä¸æå¤åé³è¿°è¦å·è¡ï¼å¯ä»¥ä½¿ç¨åå¡é³è¿°å¼({ ... }) æææé³è¿°å
å¨ä¸èµ·ã é常ä¾èªªï¼ç¡è«å¦ä½é½ä½¿ç¨åå¡é³è¿°å¼æ¯åå¾å¥½çç¿æ
£ï¼å°¤å
¶æ¯ç¶ä½ 使ç¨å·¢ççµæ§ç if é³è¿°å¼æï¼éæè®äººæ´å®¹æçè§£ä½ çç¨å¼ç¢¼ã
if (condition) {
statements1
} else {
statements2
}
ä¸è¦è¢«Booleanç©ä»¶ä¸ï¼å¸æå¼ç true å false 給混æ·äºãä»»ä½å¼åªè¦ä¸æ¯ falseã undefinedã nullã 0ã NaNï¼æè
空å串 ("")ï¼ä¸¦ä¸ä»»ä½ç©ä»¶ï¼å
æ¬å
¶å¼æ¯ falseç叿ç©ä»¶ ï¼ä»ç¶æè¢«æ¢ä»¶é³è¿°å¼è¦çºæ¢ä»¶æç«ãèä¾èè¨ï¼
var b = new Boolean(false);
if (b) // this condition is truthy
實ä¾
>ä½¿ç¨ if...else
if (cipherChar === fromChar) {
result += toChar;
x++;
} else {
result += clearChar;
}
ä½¿ç¨ else if
è¦è¨å¾ JavaScript æ²æ elseif å¯ä»¥ä½¿ç¨ãä¸éï¼ä½ å¯ä»¥ä½¿ç¨ else å ifä¸é夾è空ç½çèªæ³ï¼
if (x > 50) {
/* do something */
} else if (x > 5) {
/* do something */
} else {
/* do something */
}
æ¢ä»¶è¡¨éå¼ä¸ç賦å¼
建è°ä¸è¦å¨æ¢ä»¶è¡¨éå¼ä¸ç´æ¥å°ç©ä»¶è³¦å¼ï¼å çºéæä½¿äººå¨ç覽ç¨å¼ç¢¼æå¾å®¹æå°è³¦å¼( assignment )èç¸ç( equality )æ··æ·ãèä¾èè¨ï¼ä¸è¦ä½¿ç¨ä»¥ä¸å¯«æ³ï¼
if ((x = y)) {
/* do the right thing */
}
å¦æä½ å¿ é 卿¢ä»¶è¡¨éå¼ä¸ä½¿ç¨è³¦å¼ï¼æå¥½ Ë ç使³æ¯ä»¥é¡å¤çæ¬èå ä½è³¦å¼èªå¥ï¼å¦ä¸æç¤ºï¼
if (x = y) {
// do something
}
è¦ç¯
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-if-statement> |