å¨ä»£ç ä¸åå³å®ââæ¡ä»¶è¯å¥
å¨ä»»ä½çç¼ç¨è¯è¨ä¸ï¼ä»£ç éè¦ä¾é ä¸åçè¾å ¥ä½åºå³å®å¹¶ä¸éåè¡å¨ãä¾å¦ï¼å¨æ¸¸æä¸ï¼å¦æç©å®¶ççå½å¼åæäº 0ï¼é£ä¹æ¸¸æå°±ç»æäºãå¨å¤©æ°åºç¨ä¸ï¼å¦æå¨æ©æ¨è¿è¡ï¼å°±æ¾ç¤ºä¸å¼ æ¥åºçå¾çï¼å¦æå¨æä¸ï¼å°±æ¾ç¤ºææåæäº®çå¾çãå¨è¿ç¯æç« ä¸ï¼æä»¬å°æ¢ç´¢å¨ JavaScript 䏿è°çæ¡ä»¶è¯å¥æ¯ææ ·å·¥ä½çã
| åæï¼ | äºè§£ HTML å CSS åºç¡ï¼çæåé¢è¯¾ç¨ä¸æ¶µçç JavaScript çåºç¡ç¥è¯ã |
|---|---|
| å¦ä¹ ææï¼ | äºè§£ææ ·å¨ JavaScript ä¸ä½¿ç¨æ¡ä»¶è¯å¥æ§å¶ç»æã
|
åªéä¸ä¸ªæ¡ä»¶ä½ å°±å¯ä»¥æ¥æâ¦â¦ï¼
人类ï¼ä»¥åå ¶ä»çå¨ç©ï¼æ æ¶æ å»ä¸å¨åå³å®ï¼è¿äºå³å®é½å½±åçä»ä»¬ççæ´»ï¼ä»å°äºï¼âæåºè¯¥åä¸çè¿æ¯ä¸¤ç饼干âï¼å°éè¦ç大äºï¼âæåºè¯¥ç卿çç¥å½ï¼å¨æå®¶çååºå·¥ä½ï¼è¿æ¯åºè¯¥å»ç¾å½å¦ä¹ 天ä½ç©çå¦âï¼ã
æ¡ä»¶è¯å¥ç»æå 许æä»¬æ¥æè¿°å¨ JavaScript ä¸è¿æ ·çéæ©ï¼ä»ä¸å¾ä¸ä½åºçéæ©ï¼ä¾å¦ï¼âä¸çè¿æ¯ä¸¤çâï¼å°äº§ççç»ææè¿äºéæ©ï¼ä¹è®¸æ¯âåä¸ç饼干âå¯è½ä¼âä»ç¶æè§é¥¿âï¼æè æ¯âå两ç饼干âå¯è½ä¼âæè§é¥±äºï¼ä½å¦å¦ä¼å 为æåæäºææç饼干èéªæâãï¼

if...else è¯å¥
让æä»¬ççå°ç®å为æ¢ä½ å°ä¼å¨ JavaScript ä¸ç¨å°çæå¸¸è§çæ¡ä»¶è¯å¥ç±»åââif...else è¯å¥ã
åºæ¬ç if...else è¯æ³
åºæ¬ç if...else è¯æ³çèµ·æ¥è¿æ ·ï¼
if (condition) {
/* æ¡ä»¶ä¸ºçæ¶è¿è¡ç代ç */
} else {
/* å¦åï¼è¿è¡å
¶ä»ç代ç */
}
å¨è¿éæä»¬æï¼
- å
³é®å
ifï¼å¹¶ä¸åé¢è·éæ¬å·ã - è¦æµè¯çæ¡ä»¶ï¼æ¾å°æ¬å·éï¼é常æ¯âè¿ä¸ªå¼å¤§äºå¦ä¸ä¸ªå¼åâæè
âè¿ä¸ªå¼åå¨åâï¼ãè¿ä¸ªæ¡ä»¶ä¼å©ç¨æ¯è¾è¿ç®ç¬¦ï¼æä»¬å¨ä¹åçæ¨¡å䏿è¿è®¨è®ºï¼è¿è¡æ¯è¾ï¼å¹¶ä¸è¿å
trueæèfalseã - ä¸ç»è±æ¬å·ï¼å¨é颿们æä¸äºä»£ç ââå¯ä»¥æ¯ä»»ä½æä»¬å欢ç代ç ï¼å¹¶ä¸åªä¼å¨æ¡ä»¶è¿å
trueçæ¶åè¿è¡ã - å
³é®å
elseã - å¦ä¸ç»è±æ¬å·ï¼å¨é颿们æä¸äºä»£ç ââå¯ä»¥æ¯ä»»ä½æä»¬å欢ç代ç ï¼å¹¶ä¸å½æ¡ä»¶ä¸æ¯
trueï¼æ¢å¥è¯è¯´ï¼æ¡ä»¶ä¸ºfalseï¼çè¯ï¼å®æä¼è¿è¡ã
è¿æ®µä»£ç ççé常ææââå®è¯´â妿ï¼ifï¼æ¡ä»¶ï¼conditionï¼è¿å trueï¼è¿è¡ä»£ç Aï¼å¦åï¼elseï¼è¿è¡ä»£ç Bâ
注æï¼ä½ ä¸ä¸å®éè¦ else å第äºä¸ªè±æ¬å·ââä¸é¢ç代ç 乿¯ç¬¦åè¯æ³è§åçï¼
if (condition) {
/* æ¡ä»¶ä¸ºçæ¶è¿è¡ç代ç */
}
/* è¿è¡å
¶ä»ç代ç */
ä¸è¿ï¼è¿éä½ éè¦æ³¨æââå¨è¿ç§æ
åµä¸ï¼ç¬¬äºæ®µä»£ç ä¸è¢«æ¡ä»¶è¯å¥æ§å¶ï¼æä»¥å®æ»ä¼è¿è¡ï¼ä¸ç®¡æ¡ä»¶è¿åçæ¯ true è¿æ¯ falseãè¿ä¸ä¸å®æ¯ä¸ä»¶åäºï¼ä½è¿å¯è½ä¸æ¯ä½ æ³è¦çââä½ ç»å¸¸åªæ³è¦è¿è¡ä¸æ®µä»£ç æè
å¦ä¸æ®µï¼è䏿¯ä¸¤ä¸ªé½è¿è¡ã
æåï¼è½ç¶ä¸æ¨è使ç¨ï¼ä½ææ¶ä½ å¯è½ä¼çå°ä¸å è±æ¬å·ç if...else è¯å¥ï¼
if (condition) /* æ¡ä»¶ä¸ºçæ¶è¿è¡ç代ç */
else /* å¦åï¼è¿è¡å
¶ä»ç代ç */
è¿æ¯è¯æ³å®å ¨ææç代ç ï¼ä½ä¸å»ºè®®è¿æ ·ä½¿ç¨ââå ä¸ºå¦ææè±æ¬å·è¿è¡ä»£ç åå²çè¯ï¼æ´ä½ä»£ç 被åå²ä¸ºå¤è¡ä»£ç ï¼æ´æè¯»åæç¨ã
ä¸ä¸ªçå®ç示ä¾
ä¸ºäºæ´å¥½ççè§£è¿ç§è¯æ³ï¼è®©æä»¬èèä¸ä¸ªçå®çä¾åãæ³åä¸ä¸ªå©å被ä»çç¶æ¯è¦æ±å¸®å©ä»ä»¬åå®¶å¡ãç¶æ¯å¯è½ä¼è¯´âå¨ï¼å®è´å¿ï¼å¦æä½ 帮æå»è´ç©ï¼æä¼ç»ä½ é¢å¤çé¶è±é±ï¼è¿æ ·ä½ å°±è½ä¹°å¾èµ·ä½ æ³è¦çä¸è¥¿äºãâå¨ JavaScript ä¸ï¼æä»¬å¯ä»¥è¿æ ·è¡¨ç¤ºï¼
let shoppingDone = false;
let childsAllowance;
if (shoppingDone === true) {
childsAllowance = 10;
} else {
childsAllowance = 5;
}
è¿æ®µä»£ç æ¾ç¤ºçç»ææ¯åé shoppingDone æ»æ¯è¿å falseï¼æå³ç对æä»¬çç©·å©åæ¥è¯´å¾å¤±æã妿å©åå»è´ç©çè¯ï¼å°±éè¦ä¾é æä»¬æä¾æºå¶æ¥ä½¿ç¶æ¯æåé shoppingDone åæ trueã
夿³¨ï¼ä½ å¯ä»¥å¨ Github 䏿¾å°æ´å 宿´ç示ä¾ï¼ä¹å¯ä»¥å¨çº¿è¿è¡ãï¼
else if
ä¸é¢çç¤ºä¾æä¾ç»æä»¬ä¸¤ä¸ªéæ©æç»æï¼ä½æ¯å¦ææä»¬æ³è¦ä¸¤ä¸ªä»¥ä¸å¢ï¼
æä¸ç§æ¹æ³æ¥è®©ä½ ç if...else è¿æ¥ä½ çé¢å¤çéæ©åç»æââä½¿ç¨ else ifãæ¯ä¸ä¸ªé¢å¤çéæ©è¦æ±æ¾å° if () { } å else { } éââççä¸é¢æ´å¤æä¾åï¼å®ä»¬æ¯ä¸ä¸ªç®åç天æ°é¢æ¥åºç¨çä¸é¨åã
<label for="weather">éæ©ä»å¤©ç天æ°ï¼</label
><select id="weather">
<option value="">--ä½åºéæ©--</option>
<option value="sunny">æ´å¤©</option>
<option value="rainy">é¨å¤©</option>
<option value="snowing">éªå¤©</option>
<option value="overcast">é´å¤©</option>
</select>
<p></p>
const select = document.querySelector("select");
const para = document.querySelector("p");
select.addEventListener("change", setWeather);
function setWeather() {
const choice = select.value;
if (choice === "sunny") {
para.textContent = "é³å
æåªãç©¿ä¸ç裤å§ï¼å»æµ·æ»©ï¼æå
¬åï¼åä¸ªå°æ·æ·ã";
} else if (choice === "rainy") {
para.textContent = "å¤é¢ä¸çé¨ï¼å¸¦ä¸é¨è¡£åé¨ä¼ï¼ä¸è¦å¨å¤é¢å太ä¹
ã";
} else if (choice === "snowing") {
para.textContent =
"大éªçº·é£ï¼å¤©å¯å°å»ï¼æå¥½åå¨å®¶é忝çå·§å
åï¼æè
å»å 个éªäººã";
} else if (choice === "overcast") {
para.textContent =
"è½ç¶æ²¡æä¸é¨ï¼ä½å¤©ç©ºç°èèçï¼éæ¶é½å¯è½åå¤©ï¼æä»¥è¦å¸¦ä¸ä»¶é¨è¡£ä»¥é²ä¸ä¸ã";
} else {
para.textContent = "";
}
}
- è¿éæä»¬æ HTML
<select>å ç´ è®©æä»¬éæ©ä¸åç天æ°ï¼ä»¥åä¸ä¸ªç®åçæ®µè½ã - å¨ JavaScript ä¸ï¼æä»¬åæ¶åå¨äºå¯¹
<select>å<p>å ç´ çå¼ç¨ï¼å¹¶å¯¹<select>æ·»å äºä¸ä¸ªäºä»¶çå¬å¨ï¼å æ¤ï¼å½å®ç弿¹åæ¶ï¼setWeather()彿°è¢«æ§è¡ã - å½å½æ°è¿è¡æ¶ï¼æä»¬é¦å
æ°å»ºäºä¸ä¸ª
choiceåéå»åå¨<select>ç®å被éä¸çå¼ãæ¥çæä»¬ç¨æ¡ä»¶å¤æè¯å¥æ ¹æ®choiceçå¼å¨æ®µè½ä¸å±ç¤ºä¸åçææ¬ã注æelse if () { }åä¸çæ¡ä»¶æ¯æä¹è¢«å¤æçï¼é¤äºç¬¬ä¸ä¸ªï¼å®æ¯å¨if () { }ä¸è¢«å¤æçã - æåä¸ä¸ª
else { }ä¸çéæ©é常被å«åâæåææ°âââ卿æçæ¡ä»¶é½ä¸ä¸ºtrueæ¶å ¶ä¸ç代ç ä¼è¢«æ§è¡ãå¨è¿ä¸ªç¤ºä¾ä¸ï¼å¦æç¨æ·æ²¡æéæ©ä»»ä½ä¸ä¸ªé项ï¼å®ä¼å°æ®µè½ä¸çææ¬æ¸ ç©ºï¼ä¾å¦å½ç¨æ·å³å®éæ°éæ©æå¼å§åºç°çâ--ä½åºéæ©--âé项æ¶ï¼å°±ä¼æè¿æ ·çææã
夿³¨ï¼ä½ å¯ä»¥å¨ GitHub 䏿¾å°è¿ä¸ªç¤ºä¾ï¼ä¹å¯ä»¥å¨çº¿è¿è¡ãï¼
å ³äºæ¯è¾è¿ç®ç¬¦
æ¯è¾è¿ç®ç¬¦æ¯ç¨æ¥å¤ææ¡ä»¶è¯å¥ä¸çæ¡ä»¶çãæä»¬å åè¿å¤´æ¥çç JavaScript ä¸çåºæ¬ç®æ¯ââæ°åä¸è¿ç®ç¬¦æç« ä¸çæ¯è¾è¿ç®ç¬¦ãæä»¬æå¦ä¸éæ©ï¼
===å!==ââ夿ä¸ä¸ªå¼æ¯å¦ä¸¥æ ¼çäºï¼æä¸çäºå¦ä¸ä¸ªã<å>ââ夿ä¸ä¸ªå¼æ¯å¦å°äºï¼æå¤§äºå¦ä¸ä¸ªã<=å>=ââ夿ä¸ä¸ªå¼æ¯å¦å°äºçäºï¼æè 大äºçäºå¦ä¸ä¸ªã
æä»¬æ³ç¹å«æå°æµè¯å¸å°å¼ï¼true / falseï¼ï¼åä¸ä¸ªä½ ä¼é¢ç¹éå°çéç¨æ¨¡å¼ï¼ä»»ä½ä¸æ¯ falseãundefinedãnullã0ãNaNãæç©ºå符串ï¼''ï¼çå¼å¨ä½ä¸ºæ¡ä»¶è¯å¥è¿è¡æµè¯æ¶å®é
è¿å trueï¼å æ¤å¯ä»¥ç®åå°ä½¿ç¨åéåç§°æ¥æµè¯å®æ¯å¦ä¸ºçï¼çè³æ¯å¦åå¨ï¼å³å®ä¸æ¯æªå®ä¹çï¼ãä¾å¦ï¼
let cheese = "Cheddar";
if (cheese) {
console.log("è¶ï¼è¿éæä¸äºå¶ä½å¥¶é
ªåå¸ç奶é
ªã");
} else {
console.log("ä»å¤©ä½ çåå¸ä¸æ²¡æå¥¶é
ªäºã");
}
èä¸ï¼å尿们以åå ³äºå©å为èªå·±çç¶æ¯åå®¶å¡çä¾åï¼ä½ å¯ä»¥è¿æ ·åï¼
let shoppingDone = false;
let childsAllowance;
// ä¸å¿
ç´æ¥æç¡®æå® 'shoppingDone === true'
if (shoppingDone) {
childsAllowance = 10;
} else {
childsAllowance = 5;
}
åµå¥ if...else
å°ä¸ä¸ª if...else è¯å¥æ¾å¨å¦å¤ä¸ä¸ªä¸åµå¥æ¯å®å
¨å¯è¡çãä¾å¦ï¼æä»¬å¯ä»¥æ´æ°æä»¬ç天æ°é¢æ¥åºç¨ç¨åºï¼ä»¥æ¾ç¤ºæ´å¤çéæ©ï¼å
·ä½åå³äºæ¸©åº¦ï¼
if (choice === "sunny") {
if (temperature < 86) {
para.textContent = `å¤é¢ç°å¨æ¯ ${temperature} åæ°åº¦ââé£åæ¥ä¸½ã让æä»¬å»æµ·æ»©æå
¬åï¼åä¸ªå°æ¿åã`;
} else if (temperature >= 86) {
para.textContent = `å¤é¢ç°å¨æ¯ ${temperature} åæ°åº¦ââå¾çï¼å¦æä½ æ³åºå»ï¼ä¸å®è¦æ¶æ¹ä¸äºé²æéã`;
}
}
å³ä½¿ä»£ç å
¨é¨ä¸èµ·å·¥ä½ï¼æ¯ä¸ª if...else è¯å¥å®å
¨ç¬ç«äºå¦ä¸ä¸ªã
é»è¾è¿ç®ç¬¦ï¼ä¸ãæãé
å¦æè¦æµè¯å¤ä¸ªæ¡ä»¶ï¼èä¸éè¦ç¼ååµå¥ if...else è¯å¥ï¼é»è¾è¿ç®ç¬¦å¯ä»¥å¸®å©ä½ ãå½å¨æ¡ä»¶ä¸ä½¿ç¨æ¶ï¼å两个æ§è¡ä»¥ä¸æä½ï¼
&&ââé»è¾ä¸ãå è®¸ä½ æä¸¤ä¸ªæå¤ä¸ªè¡¨è¾¾å¼è¿å¨ä¸èµ·ï¼è¿æ ·ææç表达å¼é½å¿ é¡»åç¬æ±å¼ä¸ºtrueï¼æ´ä¸ªè¡¨è¾¾å¼æä¼è¿åtrueã||ââé»è¾æãå è®¸ä½ æä¸¤ä¸ªæå¤ä¸ªè¡¨è¾¾å¼è¿å¨ä¸èµ·ï¼å ¶ä¸æä¸ä¸ªæå¤ä¸ªè¡¨è¾¾å¼åç¬æ±å¼ä¸ºtrueï¼æ´ä¸ªè¡¨è¾¾å¼å°±ä¼è¿åtrueã
举ä¸ä¸ªé»è¾ä¸çä¾åï¼åæç飿®µä»£ç çæ®µå¯ä»¥åæä¸é¢è¿æ ·ï¼
if (choice === "sunny" && temperature < 86) {
para.textContent = `å¤é¢ç°å¨æ¯ ${temperature} åæ°åº¦ââé£åæ¥ä¸½ã让æä»¬å»æµ·æ»©æå
¬åï¼åä¸ªå°æ¿åã`;
} else if (choice === "sunny" && temperature >= 86) {
para.textContent = `å¤é¢ç°å¨æ¯ ${temperature} åæ°åº¦ââå¾çï¼å¦æä½ æ³åºå»ï¼ä¸å®è¦æ¶æ¹ä¸äºé²æéã`;
}
æä»¥ï¼åªæå½ choice === 'sunny' å¹¶ä¸ temperature < 86 é½è¿å true æ¶ï¼ç¬¬ä¸ä¸ªä»£ç åæä¼è¿è¡ã
让æä»¬å¿«éçä¸ä¸ªé»è¾æçä¾åï¼
if (iceCreamVanOutside || houseStatus === "on fire") {
console.log("ä½ åºè¯¥èµ¶ç´§ç¦»å¼è¿é´æ¿åã");
} else {
console.log("æè®¸ä½ åºè¯¥åå¨è¿éã");
}
æåä¸ç§ç±»åçé»è¾è¿ç®ç¬¦ââé»è¾éï¼ä»¥ ! è¿ç®ç¬¦è¡¨ç¤ºï¼ââå¯ä»¥ç¨äºå¯¹ä¸ä¸ªè¡¨è¾¾å¼ååã让æä»¬å°å
¶ä¸ä¸ä¸ä¸ªç¤ºä¾ä¸çé»è¾æç»åå¨ä¸èµ·ï¼
if (!(iceCreamVanOutside || houseStatus === "on fire")) {
console.log("æè®¸ä½ åºè¯¥åå¨è¿éã");
} else {
console.log("ä½ åºè¯¥èµ¶ç´§ç¦»å¼è¿é´æ¿åã");
}
å¨è¿ä¸æ®µä»£ç ä¸ï¼å¦æé»è¾æè¯å¥è¿å trueï¼åé»è¾éè¿ç®ç¬¦ä¼ååï¼äºæ¯æ´ä¸ªè¡¨è¾¾å¼å°è¿å falseã
å¯ä»¥å¨ä»»ä½ç»æä¸éæåå¹¶ä»»æå¤ä¸ªé»è¾è¯å¥ãä¸é¢ç示ä¾åªå¨ä¸¤è¾¹çé»è¾æè¯å¥åæ¶è¿å true æ¶æä¼æ§è¡ä»£ç ï¼è¿ä¹å°±æå³çæ´ä¸ªé»è¾ä¸è¯å¥ä¼è¿å trueï¼
if ((x === 5 || y > 3 || z <= 10) && (loggedIn || userName === "Steve")) {
// æ§è¡ä»£ç
}
卿¡ä»¶è¯å¥ä¸è¿ç¨é»è¾æè¿ç®ç¬¦æå¸¸è§çé误æ¯å°è¯ç»åºä¸ä¸ªè¦æ£æ¥çåéï¼ç¶åååºå¾å¤ä¸ªé½ä¼è¿å true çå¼ï¼ä¸åçå¼ä¹é´ç¨ ||ï¼æï¼è¿ç®ç¬¦åéãæ¯å¦ï¼
if (x === 5 || 7 || 10 || 20) {
// æ§è¡ä»£ç
}
å¨è¿ä¸ªä¾åé if () éçæ¡ä»¶æ»ä¸ºçï¼å 为 7ï¼æè
å
¶ä»éé¶çæ°ï¼æ»æ¯æ±å¼ä¸º trueãè¿ä¸ªæ¡ä»¶å®é
æææ¯â妿 x çäº 5ï¼æè
7 为çââ宿»æ¯æç«çâãè¿ä¸æ¯æä»¬æ³è¦çé»è¾ï¼ä¸ºäºè®©å®æ£å¸¸å·¥ä½ï¼ä½ å¿
须卿¯ä¸ªæè¿ç®ç¬¦ç两边æå®å®æ´çæµè¯ï¼
if (x === 5 || x === 7 || x === 10 || x === 20) {
// æ§è¡ä»£ç
}
switch è¯å¥
if...else è¯å¥è½å¤å¾å¥½å°å®ç°æ¡ä»¶ä»£ç ï¼ä½æ¯å®ä»¬ä¸æ¯æ²¡æç¼ºç¹ãå®ä»¬ä¸»è¦éç¨äºåªæå ä¸ªéæ©çæ
åµï¼ä¸å
¶ä¸çæ¯ä¸ä¸ªé½éè¦ç¸å½æ°éçä»£ç æ¥è¿è¡ï¼å/ææ¡ä»¶å¾å¤æçæ
åµï¼ä¾å¦å¤ä¸ªé»è¾è¿ç®ç¬¦ï¼ã对äºåªæ³å°åé设置ä¸ç³»å为ç¹å®å¼çéé¡¹ææ ¹æ®æ¡ä»¶æå°ç¹å®è¯å¥çæ
åµï¼è¯æ³å¯è½ä¼å¾éº»ç¦ï¼ç¹å«æ¯å¦ææå¤§ééæ©çæ¶åã
switch è¯å¥å¨è¿éæ¯ä½ çæåââå®ä»¬ä»¥å个表达å¼/å¼ä½ä¸ºè¾å
¥ï¼ç¶åæ¥çå¤ä¸ªé项ï¼ç´å°æ¾å°ä¸è¯¥å¼ç¸å¹é
çéé¡¹ï¼æ§è¡ä¸ä¹ç¸å
³ç代ç ãè¿éæä¸äºä¼ªä»£ç ï¼å¯ä»¥ç»ä½ ä¸ç¹çµæï¼
switch (expression) {
case choice1:
// è¿è¡è¿æ®µä»£ç
break;
case choice2:
// å¦åï¼è¿è¡è¿æ®µä»£ç
break;
// å
å«å°½å¯è½å¤çæ
åµ
default:
// æ¤å¤ï¼ä»
è¿è¡è¿æ®µä»£ç
break;
}
è¿éæä»¬æï¼
- å
³é®å
switchï¼åè·ä¸ç»æ¬å·ã - æ¬å·å å¯ä»¥æ¯è¡¨è¾¾å¼æå¼ã
- å
³é®å
caseï¼åè·ä¸ä¸ªé项ç表达å¼/å¼ï¼åé¢è·ä¸ä¸ªåå·ã - 妿é项ä¸è¡¨è¾¾å¼å¹é ï¼åè¿è¡ä¸äºä»£ç ã
- ä¸ä¸ª
breakè¯å¥ï¼åå·ç»å°¾ã妿å åçéæ©ä¸è¡¨è¾¾å¼/å¼å¹é ï¼åæµè§å¨å¨æ¤åæ¢æ§è¡ä»£ç åï¼å¹¶æ§è¡ switch è¯å¥ä¹åç代ç ã - ä»»æä¸ª case é项ï¼3-5 æ¡ï¼ã
- å
³é®å
defaultï¼åé¢è·éä¸ case é项ï¼3â5 æ¡ï¼å®å ¨ç¸åçä»£ç æ¨¡å¼ï¼åªæ¯defaultä¹åä¸éè¦åæé项ï¼å¹¶ä¸ä¸éè¦breakè¯å¥ï¼å 为ä¹å没æä»»ä½è¿è¡ä»£ç ã妿ä¹å没æé项å¹é ï¼åè¿è¡ default é项ã
夿³¨ï¼default é¨å䏿¯å¿
é¡»çââå¦æè¡¨è¾¾å¼ä¸å¯è½å卿ªç¥å¼ï¼åå¯ä»¥å®å
¨å°çç¥å®ãç¶èï¼å¦ææè¿æ ·çå¯è½ï¼ä½ éè¦å
å«å®æ¥å¤çæªç¥çæ
åµã
switch è¯å¥ç¤ºä¾
æä»¬æ¥çä¸ä¸ªçå®çä¾åââæä»¬å°éå天æ°é¢æ¥åºç¨ç¨åºï¼ä»¥æ¹ç¨ switch è¯å¥ï¼
<label for="weather">éæ©ä»å¤©ç天æ°ï¼</label
><select id="weather">
<option value="">--ä½åºéæ©--</option>
<option value="sunny">æ´å¤©</option>
<option value="rainy">é¨å¤©</option>
<option value="snowing">éªå¤©</option>
<option value="overcast">é´å¤©</option>
</select>
<p></p>
const select = document.querySelector("select");
const para = document.querySelector("p");
select.addEventListener("change", setWeather);
function setWeather() {
const choice = select.value;
switch (choice) {
case "sunny":
para.textContent = "é³å
æåªãç©¿ä¸ç裤å§ï¼å»æµ·æ»©ï¼æå
¬åï¼åä¸ªå°æ·æ·ã";
break;
case "rainy":
para.textContent = "å¤é¢ä¸çé¨ï¼å¸¦ä¸é¨è¡£åé¨ä¼ï¼ä¸è¦å¨å¤é¢å太ä¹
ã";
break;
case "snowing":
para.textContent =
"大éªçº·é£ï¼å¤©å¯å°å»ï¼æå¥½åå¨å®¶é忝çå·§å
åï¼æè
å»å 个éªäººã";
break;
case "overcast":
para.textContent =
"è½ç¶æ²¡æä¸é¨ï¼ä½å¤©ç©ºç°èèçï¼éæ¶é½å¯è½åå¤©ï¼æä»¥è¦å¸¦ä¸ä»¶é¨è¡£ä»¥é²ä¸ä¸ã";
break;
default:
para.textContent = "";
}
}
夿³¨ï¼ä½ å¯ä»¥å¨ GitHub 䏿¾å°è¿ä¸ªç¤ºä¾ï¼ä¹å¯ä»¥å¨çº¿è¿è¡ãï¼
ä¸å è¿ç®ç¬¦
卿们䏾ä¸äºä¾åä¹åï¼æä»¬è¦ä»ç»ä¸ä¸æåä¸ä¸ªè¯æ³ãä¸å
ææ¡ä»¶è¿ç®ç¬¦æ¯ä¸ä¸ªå¾ç®åçè¯æ³ï¼å
¶ç¨äºæµè¯ä¸ä¸ªæ¡ä»¶ï¼å¦ææ¡ä»¶ä¸º true åè¿åä¸ä¸ªå¼/表达å¼ï¼å¦åï¼falseï¼è¿åå¦å¤ä¸ä¸ªââè¿å¨æäºæ
åµä¸æ¯å¾æç¨çï¼å¦æä½ éè¿ true/false æ¡ä»¶æ¥éæ©ï¼è¿æ¯ if...else åå ç¨ç代ç è¦å°å¾å¤ã伪代ç çèµ·æ¥åè¿æ ·ï¼
condition ? è¿è¡è¿æ®µä»£ç : å¦åï¼è¿è¡è¿æ®µä»£ç
æä»¥æä»¬æ¥çä¸ä¸ªä¾åï¼
const greeting = isBirthday
? "å°ççæ¥å¿«ä¹ï¼ç¥ä½ æä¸ªç¾å¥½çä¸å¤©ï¼"
: "å°çæ©ä¸å¥½ã";
å¨è¿éæä»¬æä¸ä¸ªåéå«å isBirthdayââ妿宿¯ trueï¼æä»¬ç»å®¢äººä¸ä¸ªçæ¥å¿«ä¹çæ¶æ¯ï¼å¦æä¸æ¯ï¼æ¹ä¸ºæ åçæ¯æ¥é®åã
ä¸å è¿ç®ç¬¦ç¤ºä¾
ä¸å è¿ç®ç¬¦ä¸ä» ç¨äºè®¾ç½®åéå¼ï¼ä½ è¿å¯ä»¥è¿è¡å½æ°æä»£ç è¡ââä»»ä½ä½ 忬¢çä¸è¥¿ãä¸é¢ç宿¶ç¤ºä¾æ¾ç¤ºäºä¸ä¸ªç®åç主é¢éæ©å¨ï¼å ¶ä¸ç½ç«çæ ·å¼æ¯ç¨ä¸å è¿ç®ç¬¦åºç¨çã
<label for="theme">鿩䏻é¢ï¼</label
><select id="theme">
<option value="white">ç½</option>
<option value="black">é»</option>
</select>
<h1>è¿æ¯æçç½é¡µ</h1>
const select = document.querySelector("select");
const html = document.querySelector("html");
document.body.style.padding = "10px";
function update(bgColor, textColor) {
html.style.backgroundColor = bgColor;
html.style.color = textColor;
}
select.addEventListener("change", () =>
select.value === "black"
? update("black", "white")
: update("white", "black"),
);
å¨è¿éï¼æä»¬æä¸ä¸ªç¨äºéæ©ä¸»é¢ï¼é»è²æç½è²ï¼ç <select> å
ç´ ï¼å ä¸ä¸ä¸ªç®åç h1 以æ¾ç¤ºç½ç«æ é¢ãæä»¬ä¹æä¸ä¸ªå½æ°å«å update()ï¼å®å°ä¸¤ç§é¢è²ä½ä¸ºåæ°ï¼è¾å
¥ï¼ãç½ç«çèæ¯é¢è²è®¾ç½®ä¸ºç¬¬ä¸ä¸ªæä¾çé¢è²ï¼å
¶ææ¬é¢è²è®¾ç½®ä¸ºç¬¬äºä¸ªæä¾çé¢è²ã
æåï¼æä»¬è¿æä¸ä¸ª onchange äºä»¶çå¬å¨ï¼ç¨äºè¿è¡ä¸ä¸ªå
å«ä¸å
è¿ç®ç¬¦ç彿°ãå®ä»¥ select.value === 'black' æµè¯æ¡ä»¶å¼å§ã妿è¿è¿å trueï¼æä»¬è¿è¡å¸¦æé»è²åç½è²åæ°ç彿° update()ï¼è¿æå³çæä»¬æç»å¾å°é»è²çèæ¯é¢è²åç½è²çæåé¢è²ã妿è¿å falseï¼æä»¬è¿è¡å¸¦æç½è²åé»è²åæ°ç彿° update()ï¼è¿æå³çç«ç¹é¢è²è¢«å转ã
夿³¨ï¼ä½ å¯ä»¥å¨ GitHub 䏿¾å°è¿ä¸ªç¤ºä¾ï¼ä¹å¯ä»¥å¨çº¿è¿è¡ãï¼
主å¨å¦ä¹ ï¼ä¸ä¸ªç®åçæ¥å
å¨è¿ä¸ªä¾åä¸ï¼ä½ å°å¸®å©æä»¬å®æä¸ä¸ªç®åçæ¥ååºç¨ç¨åºãå¨ä½ ç代ç ä¸ï¼
<select>å è®¸ç¨æ·å¨ä¸åæä»½ä¹é´è¿è¡éæ©ãonchangeäºä»¶å¤ç卿£æµ<select>èåä¸éæ©çå¼ä½æ¶æ´æ¹ã- å为
createCalendar()ç彿°ç¨æ¥ç»å¶æ¥åå¹¶å¨ h1 å ç´ ä¸æ¾ç¤ºæ£ç¡®çæä»½ã
æä»¬éè¦ä½ å¨ createCalendar() 彿°ä¸åä¸ä¸ªæ¡ä»¶è¯å¥ï¼å°±å¨ // å¨è¿éæ·»å æ¡ä»¶è¯å¥ 注éçä¸é¢ãå®åºè¯¥ï¼
- æ¥çæéæä»½ï¼åå¨å¨
choiceåéä¸ï¼è¿å°æ¯<select>弿´æ¹åçå ç´ å¼ï¼ä¾å¦â䏿âï¼ã - 为
daysåéèµå¼ï¼ä½¿ä¹çäºæéæä»½ç天æ°ãè¦åå°è¿ä¸ç¹ï¼ä½ å¿ é¡»æ¥è¯¢ä¸å¹´ä¸æ¯ä¸ªæç天æ°ãå¨è¿ä¸ªä¾åä¸ï¼ä½ å¯ä»¥å¿½ç¥é°å¹´ã
æç¤ºï¼
- å»ºè®®ä½ ä½¿ç¨é»è¾æå°å¤ä¸ªæç»åæä¸ä¸ªå䏿¡ä»¶ï¼è®¸å¤æä»½å ±äº«ç¸åç天æ°ã
- èèæå¸¸ç¨ç天æ°ï¼å¹¶å°å ¶ç¨ä½é»è®¤å¼ã
å¦æä½ ç¯äºé误ï¼å¯ä»¥éæ¶ä½¿ç¨âéç½®âæé®é置该示ä¾ã妿ççå¡ä½äºï¼è¯·æâæ¥çè§£çâæ¥çè§£å³æ¹æ¡ã
主å¨å¦ä¹ ï¼æ´å¤é¢è²éæ©ï¼
å¨è¿ä¸ªä¾åä¸ï¼ä½ å°è¦éåæä»¬åé¢çå°çä¸å
è¿ç®ç¬¦ç¤ºä¾ï¼å¹¶å°ä¸å
è¿ç®ç¬¦è½¬æ¢ä¸ºä¸ä¸ª switch è¯å¥ï¼è¿å°å
许æä»¬å¯¹ç®åçç½ç«åºç¨æ´å¤çéæ©ãçç <select>ââè¿æ¬¡ä½ ä¼çå°å®ä¸æ¯ä¸¤ä¸ªä¸»é¢é项ï¼èæ¯äºä¸ªãä½ éè¦å¨ // æ·»å switch è¯å¥ 注éä¸é¢æ·»å ä¸ä¸ª switch è¯å¥ï¼
- å®åºè¯¥æ¥å
choiceåéä½ä¸ºå ¶è¾å ¥è¡¨è¾¾å¼ã - å¯¹äºæ¯ç§æ
åµï¼éæ©åºè¯¥çäºå¯ä»¥éæ©çå¯è½å¼ä¹ä¸ï¼å³
whiteãblackãpurpleãyellowæpsychedelicã - å¯¹äºæ¯ç§æ
åµï¼åºè¿è¡
update()彿°ï¼å¹¶ä¼ é两个é¢è²å¼ï¼ç¬¬ä¸ä¸ªé¢è²å¼ä¸ºèæ¯é¢è²ï¼ç¬¬äºä¸ªé¢è²å¼ä¸ºææ¬é¢è²ã请记ä½ï¼é¢è²å¼æ¯å符串ï¼å æ¤éè¦ç¨å¼å·æ¬èµ·æ¥ã
å¦æä½ ç¯äºé误ï¼å¯ä»¥éæ¶ä½¿ç¨âéç½®âæé®é置该示ä¾ã妿ççå¡ä½äºï¼è¯·æâæ¥çè§£çâæ¥çè§£å³æ¹æ¡ã
æè½æµè¯ï¼
ä½ å·²ç»é 读å°äºæ¬ç¯æç« çæ«å°¾ï¼ä½è¿è½è®°æ¸ æ¥æéè¦çé¨ååï¼ä½ å¯ä»¥åä¸äºæ·±å ¥çæµè¯ï¼æ¥éªè¯ä½ æ¯å¦å¨è¿è¡ä¸ä¸æ¥å¦ä¹ ä¹åï¼è®°ä½äºè¿äºç¥è¯ï¼è¯·åé æè½æµè¯ï¼æ¡ä»¶è¯å¥ã
æ»ç»
è¿å°±æ¯ä½ ç°å¨çæ£éè¦äºè§£çæå ³ JavaScript ä¸çæ¡ä»¶ç»æçå ¨é¨å å®¹ï¼æ¥ä¸æ¥ï¼æä»¬å°æ¢è®¨å¾ªç¯éåç代ç ã