ææ¶æä»¬éè¦æ ¹æ®ä¸åæ¡ä»¶æ§è¡ä¸åçæä½ã
æä»¬å¯ä»¥ä½¿ç¨ if è¯å¥åæ¡ä»¶è¿ç®ç¬¦ ?ï¼ä¹ç§°ä¸ºâé®å·âè¿ç®ç¬¦ï¼æ¥å®ç°ã
âifâ è¯å¥
if(...) è¯å¥è®¡ç®æ¬å·éçæ¡ä»¶è¡¨è¾¾å¼ï¼å¦æè®¡ç®ç»ææ¯ trueï¼å°±ä¼æ§è¡å¯¹åºç代ç åã
ä¾å¦ï¼
let year = prompt('In which year was ECMAScript-2015 specification published?', '');
if (year == 2015) alert( 'You are right!' );
å¨ä¸é¢è¿ä¸ªä¾åä¸ï¼æ¡ä»¶æ¯ä¸ä¸ªç®åçç¸çæ§æ£æ¥ï¼year == 2015ï¼ï¼ä½å®è¿å¯ä»¥æ´å¤æã
妿æå¤ä¸ªè¯å¥è¦æ§è¡ï¼æä»¬å¿ é¡»å°è¦æ§è¡ç代ç åå°è£ å¨å¤§æ¬å·å ï¼
if (year == 2015) {
alert( "That's correct!" );
alert( "You're so smart!" );
}
å»ºè®®æ¯æ¬¡ä½¿ç¨ if è¯å¥é½ç¨å¤§æ¬å· {} æ¥å
è£
代ç åï¼å³ä½¿åªæä¸æ¡è¯å¥ãè¿æ ·å¯ä»¥æé«ä»£ç å¯è¯»æ§ã
å¸å°è½¬æ¢
if (â¦) è¯å¥ä¼è®¡ç®åæ¬å·å
ç表达å¼ï¼å¹¶å°è®¡ç®ç»æè½¬æ¢ä¸ºå¸å°åã
让æä»¬å顾ä¸ä¸ ç±»åè½¬æ¢ ä¸ç« ä¸ç转æ¢è§åï¼
- æ°å
0ã空å符串""ãnullãundefinedåNaNé½ä¼è¢«è½¬æ¢æfalseãå 为å®ä»¬è¢«ç§°ä¸ºâåå¼ï¼falsyï¼âã - å
¶ä»å¼è¢«è½¬æ¢ä¸º
trueï¼æä»¥å®ä»¬è¢«ç§°ä¸ºâçå¼ï¼truthyï¼âã
æä»¥ï¼ä¸é¢è¿ä¸ªæ¡ä»¶ä¸çä»£ç æ°¸è¿ä¸ä¼æ§è¡ï¼
if (0) { // 0 æ¯åå¼ï¼falsyï¼
...
}
â¦â¦ä½ä¸é¢çæ¡ä»¶ ââ å§ç»ææï¼
if (1) { // 1 æ¯çå¼ï¼truthyï¼
...
}
æä»¬ä¹å¯ä»¥å°é¢å
计ç®çå¸å°å¼ä¼ å
¥ if è¯å¥ï¼åè¿æ ·ï¼
let cond = (year == 2015); // ç¸çè¿ç®ç¬¦çç»ææ¯ true æ false
if (cond) {
...
}
âelseâ è¯å¥
if è¯å¥ææ¶ä¼å
å«ä¸ä¸ªå¯éç âelseâ åã妿夿æ¡ä»¶ä¸æç«ï¼å°±ä¼æ§è¡å®å
é¨ç代ç ã
ä¾å¦ï¼
let year = prompt('In which year was ECMAScript-2015 specification published?', '');
if (year == 2015) {
alert( 'You guessed it right!' );
} else {
alert( 'How can you be so wrong?' ); // 2015 以å¤çä»»ä½å¼
}
å¤ä¸ªæ¡ä»¶ï¼âelse ifâ
ææ¶æä»¬éè¦æµè¯ä¸ä¸ªæ¡ä»¶çå 个åä½ãæä»¬å¯ä»¥éè¿ä½¿ç¨ else if åå¥å®ç°ã
ä¾å¦ï¼
let year = prompt('In which year was ECMAScript-2015 specification published?', '');
if (year < 2015) {
alert( 'Too early...' );
} else if (year > 2015) {
alert( 'Too late' );
} else {
alert( 'Exactly!' );
}
å¨ä¸é¢ç代ç ä¸ï¼JavaScript å
æ£æ¥ year < 2015ã妿æ¡ä»¶ä¸ç¬¦åï¼å°±ä¼è½¬å°ä¸ä¸ä¸ªæ¡ä»¶ year > 2015ã妿è¿ä¸ªæ¡ä»¶ä¹ä¸ç¬¦åï¼å伿¾ç¤ºæåä¸ä¸ª alertã
å¯ä»¥ææ´å¤ç else if åãç»å°¾ç else æ¯å¯éçã
æ¡ä»¶è¿ç®ç¬¦ â?â
ææ¶æä»¬éè¦æ ¹æ®ä¸ä¸ªæ¡ä»¶å»èµå¼ä¸ä¸ªåéã
å¦ä¸æç¤ºï¼
let accessAllowed;
let age = prompt('How old are you?', '');
if (age > 18) {
accessAllowed = true;
} else {
accessAllowed = false;
}
alert(accessAllowed);
æè°çâæ¡ä»¶âæâé®å·âè¿ç®ç¬¦è®©æä»¬å¯ä»¥æ´ç®çå°è¾¾å°ç®çã
è¿ä¸ªè¿ç®ç¬¦éè¿é®å· ? è¡¨ç¤ºãææ¶å®è¢«ç§°ä¸ºä¸å
è¿ç®ç¬¦ï¼è¢«ç§°ä¸ºâä¸å
âæ¯å 为该è¿ç®ç¬¦ä¸æä¸ä¸ªæä½æ°ãå®é
ä¸å®æ¯ JavaScript ä¸å¯ä¸ä¸ä¸ªæè¿ä¹å¤æä½æ°çè¿ç®ç¬¦ã
è¯æ³ï¼
let result = condition ? value1 : value2;
è®¡ç®æ¡ä»¶ç»æï¼å¦æç»æä¸ºçï¼åè¿å value1ï¼å¦åè¿å value2ã
ä¾å¦ï¼
let accessAllowed = (age > 18) ? true : false;
ææ¯ä¸è®²ï¼æä»¬å¯ä»¥çç¥ age > 18 å¤é¢çæ¬å·ãé®å·è¿ç®ç¬¦çä¼å
级è¾ä½ï¼æä»¥å®ä¼å¨æ¯è¾è¿ç®ç¬¦ > åæ§è¡ã
ä¸é¢è¿ä¸ªç¤ºä¾ä¼æ§è¡ååé¢é£ä¸ªç¤ºä¾ç¸åçæä½ï¼
// æ¯è¾è¿ç®ç¬¦ "age > 18" é¦å
æ§è¡
//ï¼ä¸éè¦å°å
¶å
å«å¨æ¬å·ä¸ï¼
let accessAllowed = age > 18 ? true : false;
使¬å·å¯ä»¥ä½¿ä»£ç å¯è¯»æ§æ´å¼ºï¼æä»¥æä»¬å»ºè®®ä½¿ç¨å®ä»¬ã
å¨ä¸é¢çä¾åä¸ï¼ä½ å¯ä»¥ä¸ä½¿ç¨é®å·è¿ç®ç¬¦ï¼å 为æ¯è¾æ¬èº«å°±è¿å true/falseï¼
// ä¸é¢ä»£ç åæ ·å¯ä»¥å®ç°
let accessAllowed = age > 18;
å¤ä¸ª â?â
使ç¨ä¸ç³»åé®å· ? è¿ç®ç¬¦å¯ä»¥è¿åä¸ä¸ªåå³äºå¤ä¸ªæ¡ä»¶çå¼ã
ä¾å¦ï¼
let age = prompt('age?', 18);
let message = (age < 3) ? 'Hi, baby!' :
(age < 18) ? 'Hello!' :
(age < 100) ? 'Greetings!' :
'What an unusual age!';
alert( message );
å¯è½å¾é¾ä¸ä¸åçåºåçäºä»ä¹ãä½ç»è¿ä»ç»è§å¯ï¼æä»¬å¯ä»¥çå°å®åªæ¯ä¸ä¸ªæ®éçæ£æ¥åºåã
- 第ä¸ä¸ªé®å·æ£æ¥
age < 3ã - å¦æä¸ºç â è¿å
'Hi, baby!'ãå¦åï¼ä¼ç»§ç»æ§è¡åå·":"åç表达å¼ï¼æ£æ¥age < 18ã - å¦æä¸ºç â è¿å
'Hello!'ãå¦åï¼ä¼ç»§ç»æ§è¡ä¸ä¸ä¸ªåå·":"åç表达å¼ï¼æ£æ¥age < 100ã - å¦æä¸ºç â è¿å
'Greetings!'ãå¦åï¼ä¼ç»§ç»æ§è¡æåä¸ä¸ªåå·":"åé¢ç表达å¼ï¼è¿å'What an unusual age!'ã
è¿æ¯ä½¿ç¨ if..else å®ç°ä¸é¢çé»è¾çåæ³ï¼
if (age < 3) {
message = 'Hi, baby!';
} else if (age < 18) {
message = 'Hello!';
} else if (age < 100) {
message = 'Greetings!';
} else {
message = 'What an unusual age!';
}
â?â çé常è§ä½¿ç¨
ææ¶å¯ä»¥ä½¿ç¨é®å· ? æ¥ä»£æ¿ if è¯å¥ï¼
let company = prompt('Which company created JavaScript?', '');
(company == 'Netscape') ?
alert('Right!') : alert('Wrong.');
æ ¹æ®æ¡ä»¶ company =='Netscape'ï¼è¦ä¹æ§è¡ ? åé¢ç第ä¸ä¸ªè¡¨è¾¾å¼å¹¶æ¾ç¤ºå¯¹åºå
容ï¼è¦ä¹æ§è¡ç¬¬äºä¸ªè¡¨è¾¾å¼å¹¶æ¾ç¤ºå¯¹åºå
容ã
å¨è¿éæä»¬ä¸æ¯æç»æèµå¼ç»åéãèæ¯æ ¹æ®æ¡ä»¶æ§è¡ä¸åç代ç ã
ä¸å»ºè®®è¿æ ·ä½¿ç¨é®å·è¿ç®ç¬¦ã
è¿ç§åæ³æ¯ if è¯å¥æ´çï¼å¯¹ä¸äºç¨åºå徿å¸å¼åãä½å®çå¯è¯»æ§å·®ã
ä¸é¢æ¯ä½¿ç¨ if è¯å¥å®ç°ç¸ååè½ç代ç ï¼è¿è¡ä¸æ¯è¾ï¼
let company = prompt('Which company created JavaScript?', '');
if (company == 'Netscape') {
alert('Right!');
} else {
alert('Wrong.');
}
å 为æä»¬çç¼çåç´æ«æä»£ç ãæä»¥ï¼è·¨è¶å è¡ç代ç 忝é¿èæ°´å¹³çä»£ç æ´æäºçè§£ã
é®å· ? çä½ç¨æ¯æ ¹æ®æ¡ä»¶è¿åå
¶ä¸ä¸ä¸ªå¼ã请æ£ç¡®ä½¿ç¨å®ãå½éè¦æ§è¡ä¸åç代ç 忝æ¶ï¼è¯·ä½¿ç¨ ifã
è¯è®º
<code>æ ç¾æå ¥åªæå 个è¯ç代ç ï¼æå ¥å¤è¡ä»£ç å¯ä»¥ä½¿ç¨<pre>æ ç¾ï¼å¯¹äºè¶ è¿ 10 è¡ç代ç ï¼å»ºè®®ä½ ä½¿ç¨æ²ç®±ï¼plnkrï¼JSBinï¼codepenâ¦ï¼