ã©ã®ããã°ã©ãã³ã°è¨èªã§ããã³ã¼ãã¯æ§ã ãªå ¥åã«å¿ããæ±ºå®ãè¿«ããããã®çµæã¨ãã¦åä½ãèµ·ããã¾ããä¾ãã°ãã²ã¼ã ã§ã¯ãã¬ã¤ã¤ã¼ã®æ®æ©ã 0 ã«ãªã£ãå ´åãã²ã¼ã ãªã¼ãã¼ã¨ãªãã¾ãã天æ°ã¢ããªã¯æã«èµ·åãããå ´åã¯æ¥ã®åºã®ç»åã表示ããå¤ã«èµ·åãããå ´åã¯æãæã®ç»åã表示ãã¾ãããã®è¨äºã§ã¯ãJavaScript ã«ããã¦ãæ¡ä»¶æã¨å¼ã°ãããã®ãã©ã®ããã«åä½ãããã説æãã¾ãã
åæç¥è: HTMLããã³CSS ã®åºç¤ãçè§£ãã¦ãããã¨ã å¦ç¿ææ:if
/else
/else if
ã使ç¨ããæ¡ä»¶ã®å®è£
ã人é¡ï¼ã¨ä»ã®åç©ãã¡ï¼ã¯ å°ãããã®ï¼ãã¯ããã¼ã 1 ã¤é£ã¹ãã¹ããã2 ã¤é£ã¹ãã¹ãããï¼ãã大ãããã®ï¼ãæ é·ã«æ®ã£ã¦è¦ªç¶ã®è¾²å ´ãç¶ãã¹ãããã¢ã¡ãªã«ã«æ¸¡ã£ã¦å®å®ç©çå¦ãå¦ã¶ã¹ãããï¼ã¾ã§ãçæ´»ã«é¢ãããã¹ã¦ã®æ±ºå®ãä¸ãã¾ãã
JavaScript ã§ã¯ãæ¡ä»¶æã使ã£ã¦ãã®ãããªæ±ºå®ãä¸ããã¨ãå¯è½ã§ããæ¡ä»¶æã¯ãé¸ã°ãªããã°ãªããªã鏿è¢ï¼ä¾ãã°ãã¯ããã¼ã 1 ã¤ã¾ã㯠2 ã¤é£ã¹ããï¼ãããããé¸ãã å ´åã®çµæãå°ãåºãã¾ãï¼ããããã1 ã¤ã¯ããã¼ãé£ã¹ãããé¸ãã ãããã¾ã ã¡ãã£ã¨ãè ¹ã空ãã¦ãããã¨ããçµæã¨ãªãã§ãããããã2 ã¤ã¯ããã¼ãé£ã¹ãããé¸ãã ãããè ¹ãã£ã±ããã ãã©ã¯ããã¼ãå ¨é¨é£ã¹ã¦ããã«æããããã¨ããçµæã¨ãªã£ã¦ãã¾ãã§ããããï¼
if...else æããã§ã¯ãJavaScript ã§æããã使ãããæ¡ä»¶æããå§ãã¾ãããããã㯠if...else
æã§ãã
if...else
ã®åºæ¬çãªæ§æã¯æ¬¡ã®ããã«ãªã£ã¦ãã¾ãã
if (æ¡ä»¶å¼) {
/* æ¡ä»¶å¼ã true ã®å ´åã«å®è¡ãããã³ã¼ã */
} else {
/* ãã以å¤ã®å ´åã«å®è¡ãããã³ã¼ã */
}
ããã§ã¯...
if
ãã¼ã¯ã¼ãã®å¾ãã«æ¬å¼§ã並ãã§ãã¾ããtrue
ã¾ã㯠false
ãè¿ãã¾ããtrue
ã®å ´åã«å®è¡ããã¾ããelse
ãã¼ã¯ã¼ããããã¾ããtrue
ã§ã¯ãªãå ´åã«å®è¡ããã¾ãããã®ã³ã¼ãã¯ï¼è±èªã使ã人ã«ã¯ï¼ã¨ã¦ãèªã¿ããããã®ã«ãªã£ã¦ãã¾ãããã®ã³ã¼ãã¯ããã ( if ) æ¡ä»¶å¼ ã true
ãè¿ããã A ã®ã³ã¼ããå®è¡ãããã以å¤ãªãã° ( else ) B ã®ã³ã¼ããå®è¡ãããã¨èªãã¾ãã
else
ã¨ããã«ç¶ã䏿¬å¼§ã¯å¿
ãããæ¸ãå¿
è¦ããªããã¨ãè¦ãã¦ããã¾ããããæ¬¡ã®ã³ã¼ããå
¨ãåé¡ã®ãªãã³ã¼ãã§ãã
if (æ¡ä»¶å¼) {
/* æ¡ä»¶å¼ã true ã®å ´åã«å®è¡ãããã³ã¼ã */
}
/* æ®éã«å®è¡ãããã³ã¼ã */
ããã§æ³¨æãã¦ãããªããã°ãªããªããã¨ãããã¾ãããã㯠2 ã¤ç®ã®ã³ã¼ããããã¯ã¯ãæ¡ä»¶åå²ã®ç®¡çä¸ã«ãªããæ¡ä»¶å¼ã true
ã false
ãã«é¢ä¿ãªãã常ã«å®è¡ããããã¨ã§ããããã¯ã¾ã£ããæªããã¨ã§ã¯ãªãã®ã§ãããæ¡ä»¶ã«å¿ãã¦ã©ã¡ãã䏿¹ã®ã¿åããããã¨æã£ã¦ããå ´åã«ã¯ãæ°ãä»ãã¦ãããªãã¨æã£ãéãã®åä½ãããªãã§ãããã
æå¾ã®ç¢ºèªç¹ã¨ãã¦ãif...else
æã䏿¬å¼§ãªãã§æ¸ããã¦ããã®ãè¦ããã¨ãããã¾ãã以ä¸ã®ãããªçç¥ããæ¸ãæ¹ã§ãã
if (æ¡ä»¶å¼) /* æ¡ä»¶å¼ã true ã®å ´åã«å®è¡ãããã³ã¼ã */
else /* ãã以å¤ã®å ´åã«å®è¡ãããã³ã¼ã */
ãã®æ§æã¯å®å ¨ã«æå¹ã§ããã䏿¬å¼§ã使ç¨ãã¦ã³ã¼ãã®ãããã¯ãåºåããè¤æ°è¡ã¨ã¤ã³ãã³ãã使ç¨ããæ¹ãã³ã¼ããçè§£ãããããªãã¾ãã
å®éã®ä¾ãã®æ§æãããããçè§£ããããã«ãå®éã®ä¾ãèãã¦ã¿ã¾ããããåã©ããæ¯è¦ªãç¶è¦ªã«éç¨ãé ¼ã¾ããã¨ãã¾ãã親ã¯ãè²·ãç©ã«è¡ã£ã¦æä¼ã£ã¦ããããããå°é£ããããããããæ¬²ããã£ãããã¡ããè²·ããªãããã¨è¨ãããããã¾ãããJavaScript ã§ã¯ãã®ããã«è¡¨ãã¾ãã
let shoppingDone = false;
let childsAllowance;
if (shoppingDone === true) {
childsAllowance = 10;
} else {
childsAllowance = 5;
}
ãã®ã³ã¼ãã¯å¸¸ã« shoppingDone
夿°ã false
ãªã®ã§ãããããããªåä¾ã¯è¿½å ã®ãå°é£ããåãåãã¾ããã両親ãåä¾ãã使ããå®äºããå ´åã« shoppingDone
夿°ã true
ã«ã»ãããã¦ããããã©ããã¯ããã°ã©ã 次第ã§ãï¼ã¤ã¾ãç§ãã¡æ¬¡ç¬¬ã§ããï¼
ã¡ã¢: GitHub ã§ä¸è¨ã®ã³ã¼ãã®å®å ¨ãªãã¼ã¸ã§ã³ãå ¬éããã¦ãã¾ããï¼ã©ã¤ãå®è¡ã§ã確èªã§ãã¾ããï¼
else ifå ã»ã©ã®ä¾ã§ã¯å®è¡çµæã¯ 2 ã¤ã ãã§ãããããã£ã¨é¸æè¢ãããå ´åã¯ã©ãã§ããããï¼
else if
ã使ã£ã¦ã追å ã®é¸æè¢ã if...else
ã«ç¹ãæ¹æ³ãããã¾ãã追å ã®é¸æè¢ã¯ 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 = "";
}
}
<select>
è¦ç´ ãããã1 ã¤ã®æ®µè½ãããã¾ããã<select>
㨠<p>
ã®åè¦ç´ ã«ã¤ãã¦ãåç
§ãåå¾ãã¦ä¿æãã<select>
è¦ç´ ã«ã¯ã¤ãã³ããªã¹ãã¼ãè¨å®ãã¦ãã¾ãããããè¦ç´ ã®å¤ãå¤ãã£ãã setWeather()
颿°ãåãã¾ããchoice
ã¨ãã夿°ã«ã<select>
è¦ç´ ã®ç¾å¨é¸æããã¦ããå¤ãå
¥ãã¾ããããã¦ãæ¡ä»¶æã使ãã choice
ã®å¤ã«å¿ããæååãæ®µè½ã«è¨å®ããã¾ããæåã® if () { }
ã®ãããã¯ãé¤ãã¦ãã©ã®ããã« else if () { }
ã®ãããã¯ã§å¤å®ãã¦ãããæ³¨ç®ãã¦ãã ãããelse { }
鏿è¢ã¯ããæå¾ã®ææ®µãã¨ãªããªãã·ã§ã³ã§ããã®ä¸ã®ã³ã¼ãã¯ãã©ã®æ¡ä»¶ã«ãä¸è´ããªãã£ãå ´åï¼true
ã¨ãªããªãã£ãå ´åï¼ã«å®è¡ããã¾ããä»åã®å ´å鏿ããã¦ããªãå ´åã«ã段è½ã空ã«ãã¦ãã¾ããä½ã鏿ããã¦ããªãå ´åã¨ããã®ã¯ãã¦ã¼ã¶ã¼ãå度æåã«è¡¨ç¤ºããã¦ããã--鏿ãã¦ãã ãã--ãã¨ãããªãã·ã§ã³ãé¸ãã å ´åã§ããã¡ã¢: GitHub ã§ä¸è¨ã®ã³ã¼ãã®å®å ¨ãªãã¼ã¸ã§ã³ãå ¬éããã¦ãã¾ããï¼ã©ã¤ãå®è¡ã§ã確èªã§ãã¾ããï¼
æ¯è¼æ¼ç®åã«é¢ããã¡ã¢æ¯è¼æ¼ç®åã¯æ¡ä»¶æã®ä¸ã§ä½¿ããã¾ããJavaScript ã§ã®åºæ¬æ¼ç® â æ°å¤ã¨æ¼ç®åã§åãã¦åºã¦ãã¾ããããæ¼ç®åã«ã¯ä»¥ä¸ã®ãããªãã®ãããã¾ããã
===
㨠!==
ã¯ãããå¤ããã䏿¹ã®å¤ã¨çãããããããã¯çãããªãããå¤å®ãã¾ãã<
㨠>
ã¯ãããå¤ããã䏿¹ã®å¤ãã大ããããããå°ããããå¤å®ãã¾ãã<=
㨠>=
ã¯ãããå¤ããã䏿¹ã®å¤ä»¥ä¸ãã以ä¸ããå¤å®ãã¾ããè«çå¤ (true
/false
) ãå¤å®ããå ´åã«ã¯ãå°ãã®é
æ
®ãå¿
è¦ã§ãããã¨ãä»ãå ãããã¦ãã ãããããããä½åº¦ãã¤ã¾ããã§ãããããããããã¿ã¼ã³ã§ããæ¡ä»¶æã§ä½ããã®å¤ãæ¤æ»ãããå ´åãfalse
ãundefined
ãnull
ã0
ãNaN
ã空æåå (''
) 以å¤ã§ããã° true
ã¨ãªãã¾ããã§ãããããã®å¤ã true
ã§ãããå¤å®ãããå ´åãããã®å¤ãåå¨ãããï¼ä¾ãã°ãundefined
ã§ã¯ãªããã¨ï¼å¤å®ãããå ´åã¯åã«å¤æ°åã使ç¨ããã ãã§ãã
let cheese = "ãã§ãã¼";
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...else
æã®ä¸ã§ä½¿ç¨ãããã¨ã¯å
¨ãåé¡ããã¾ãããä¾ãã°ã天æ°äºå ±ã¢ããªã±ã¼ã·ã§ã³ã§æ°æ¸©ã«å¿ãã¦è¡¨ç¤ºããå
容ãåãæ¿ãããå ´å以ä¸ã®ããã«æ¸ããã¨ãã§ãã¾ãã
if (choice === "sunny") {
if (temperature < 30) {
para.textContent = `å¤ã®æ°æ¸©ã¯ ${temperature} 度ã§ã â ã¨ã¦ããã天æ°ã§ããæµ·æ°´æµ´ããå
¬åã«åºããã¦ã¢ã¤ã¹ã¯ãªã¼ã ãé£ã¹ã¾ãããã`;
} else if (temperature >= 30) {
para.textContent = `å¤ã®æ°æ¸©ã¯ ${temperature} 度ã§ã â ããªãæãã§ãï¼å¤ã«åºãã¨ãã¯ãæ¥ç¼ãæ¢ããå¡ãã¾ãããã`;
}
}
ãã¨ãã³ã¼ãããã¹ã¦ä¸ç·ã«åä½ããã¨ãã¦ããããããã® if...else
æã¯å®å
¨ã«ç¬ç«ãã¦åä½ãã¾ãã
è¤æ°ã®æ¡ä»¶ãå
¥ãåã® if...else
æãæ¸ããã«å¤å®ããããªããè«çæ¼ç®åã®åºçªã§ããæ¡ä»¶ã§ä½¿ç¨ããã¨ãæåã® 2 ã¤ã¯ä»¥ä¸ã®ããã«ãªãã¾ãã
&&
â AND 㯠2 ã¤ä»¥ä¸ã®å¼ãä¸ã¤ã«ç¹ããããããã®å¼ãåå¥ã«è©ä¾¡ãã¦ããã¹ã¦ true
ã«ãªã£ãå ´åããã®å¼å
¨ä½ã true
ã¨ãã¦è¿ãã¾ãã||
â OR 㯠2 ã¤ä»¥ä¸ã®å¼ã 1 ã¤ã«ç¹ããããããã®å¼ãåå¥ã«è©ä¾¡ããæåã« true
ã«ãªã£ãã¨ããã§ããã®å¼å
¨ä½ã true
ã¨ãã¦è¿ãã¾ããAND ã®ä¾ã示ããããå ã»ã©ã®ã³ã¼ããæ¸ãç´ãã¨ä»¥ä¸ã®ããã«ãªãã¾ãã
if (choice === "sunny" && temperature < 30) {
para.textContent = `å¤ã®æ°æ¸©ã¯ ${temperature} 度ã§ã â ã¨ã¦ããã天æ°ã§ããæµ·æ°´æµ´ããå
¬åã«åºããã¦ã¢ã¤ã¹ã¯ãªã¼ã ãé£ã¹ã¾ãããã`;
} else if (choice === "sunny" && temperature >= 30) {
para.textContent = `å¤ã®æ°æ¸©ã¯ ${temperature} 度ã§ã â ããªãæãã§ãï¼å¤ã«åºãã¨ãã¯ãæ¥ç¼ãæ¢ããå¡ãã¾ãããã`;
}
ä¾ã§ã¯ãæåã®ãããã¯ã¯ choice === 'sunny'
ããã³ temperature < 30
ã®ã©ã¡ãã true
ã¨ãªã£ãå ´åã«ã®ã¿å®è¡ããã¾ãã
ä»åº¦ã¯ OR ã®ä¾ãè¦ã¦ã¿ã¾ãããã
if (iceCreamVanOutside || houseStatus === "ç«äº") {
console.log("ããã«å®¶ããåºã¾ãããã");
} else {
console.log("ããã§ã¯å®¶ã«ãã¾ãããã");
}
è«çæ¼ç®åã®æå¾ã¯ NOT ã§ãã!
æ¼ç®åã§è¡¨ãããå¼ãå¦å®ããã®ã«ä½¿ç¨ãã¾ããããã§ã¯å
ã»ã©ã® OR ã¨çµã¿åããã¦ã¿ã¾ãããã
if (!(iceCreamVanOutside || houseStatus === "ç«äº")) {
console.log("ããã§ã¯å®¶ã«ãã¾ãããã");
} else {
console.log("ããã«å®¶ããåºã¾ãããã");
}
ãã®ã³ã¼ãä¾ã§ã¯ãOR æã true
ã¨ãªãã°ã NOT æ¼ç®åããããå¦å®ãã¾ãããã®ãããå¼å
¨ä½ã¯ false
ã¨ãªãã¾ãã
è«çæã¯ãã©ããªæ§é ã§ã好ããªã ãçµåãããã¨ãã§ãã¾ããä¾ãã°ã次ã®ä¾ã§ã¯ã両æ¹ã® OR æãçãè¿ããå ´åã«ã®ã¿ãå é¨ã®ã³ã¼ããå®è¡ããã¾ããã¤ã¾ãã AND æå ¨ä½ãçãè¿ãã¨ãããã¨ã§ãã
if ((x === 5 || y > 3 || z <= 10) && (loggedIn || userName === "ã¹ãã£ã¼ã")) {
// ã³ã¼ããå®è¡
}
è«ç OR æ¼ç®åã使ç¨ããããã§ããããééãã¯ãå¤å®ãããã¨ãã¦ãã夿°ãä¸åº¦ã ãæ¸ãã¦ããã®å¾ã«å¤å®ãããå¤ã ||
(OR) æ¼ç®åã§åºåã£ã¦æå®ãã誤ãã§ããæ¬¡ã®ãããªä¾ã§ãã
if (x === 5 || 7 || 10 || 20) {
// ã³ã¼ããå®è¡ãã
}
ãã®å ´åãif ()
ã®æ¡ä»¶å¼ã¯å¸¸ã«çã¨ãªãã¾ãããªããªã 7 (ãããã¯ãã®ä» 0 以å¤ã®æ°å¤) ã常㫠true
ã¨è©ä¾¡ãããããã§ãããã®æ¡ä»¶å¼ã¯ããã x ã 5 ã§ããã 7 ãçã§ãããªãã° (7 ã¯å¸¸ã«çã§ã)ãã¨ãªãã¾ããããã¯æ±ãã¦ãããã®ã§ã¯ããã¾ããããï¼ãã®ã³ã¼ãã®èª¤ããä¿®æ£ããããã«ã¯ãOR æ¼ç®åã®é£ã«å¸¸ã«å®å
¨ãªæ¡ä»¶ãæ¸ããªããã°ãªãã¾ããã
if (x === 5 || x === 7 || x === 10 || x === 20) {
// ã³ã¼ããå®è¡ãã
}
switch æ
if...else
æã¯æ¡ä»¶ã®å¤å®ã䏿ãããªãã¦ãã¾ããããæ¬ ç¹ããªãããã§ã¯ããã¾ãããããã¤ãã®é¸æè¢ãããªãå ´åã«ã¯ç³ãåãªãã®ã§ãããAND / OR ã®æ¡ä»¶ãè¤éã«ãªãã«ã¤ãã¦ï¼ä¾ãã°ãè¤æ°ã®è«çæ¼ç®åã使ã£ããããå ´åãªã©ï¼ãç¸å½éã®ã³ã¼ããæ¸ããªããã°ãªãã¾ããããã鏿è¢ã«å¿ãã¦å¤ã夿°ã«è¨å®ããããç¹å®ã®æ¡ä»¶ã«å¿ãã¦ä½ãã表示ãããããã¨ãã鏿è¢ãããããããã¨ãif...else
æãæ¸ãã®ã¯é¢åã§ãã
switch
æã¯ãããªã¨ãã®å³æ¹ã§ããswitch
æã¯ä¸ã¤ã®å¼ã¾ãã¯å¤ãåãåããããã«åè´ããå¤ãè¦ã¤ããã¾ã§é¸æè¢ãæ¢ãã¾ããããã¦åè´ãã鏿è¢ã«å¯¾å¿ããã³ã¼ããå®è¡ãã¾ããã¾ãã¯æ¬ä¼¼ã³ã¼ããè¦ã¦ãé°å²æ°ãã¤ãã¿ã¾ãããã
switch (å¼) {
case 鏿è¢1:
// ãã®ã³ã¼ããå®è¡ãã
break;
case 鏿è¢2:
// 代ããã«ãã®ã³ã¼ããå®è¡ãã
break;
// 以ä¸ã«é¸æè¢ã好ããªã ã並ã¹ã
default:
// æ¢å®ã§ãã®ã³ã¼ããå®è¡ãã
break;
}
ä¸è¨ã®ã³ã¼ãã«ã¯...
switch
ãã¼ã¯ã¼ãã«ç¶ããä¸çµã®æ¬å¼§ãããã¾ããcase
ãã¼ã¯ã¼ãã«ç¶ãã鏿è¢ã¨ãªãå¼ã¾ãã¯å¤ãããã«ã³ãã³ (:
) ã並ãã§ãã¾ããbreak
æã¨ã»ãã³ãã³ (;
) ãããã¾ããããåã®é¸æè¢ã«ããããã¦å
¥ãã°ãã©ã¦ã¶ã¼ã¯ã³ã¼ãã®å®è¡ãããã§ãããswitch æã®å¾ãã«ããã³ã¼ãã«ç§»åãã¾ããcase
ç¯ (ä¸è¨ 3. ãã 5. ) ã¯å¥½ããªã ãæ¸ããã¨ãã§ãã¾ããcase
ç¯ã¨å
¨ãåãã³ã¼ããã¿ã¼ã³ã§æ¸ããã¦ãã default
ãã¼ã¯ã¼ããããã¾ããéã㯠default
ã®å¾ãã«é¸æè¢ãæ¸ããã¦ããªããã¨ã§ããã¾ããå¾ãã«ç¶ãã³ã¼ãããªãã®ã§ãããã«ã¯ break
æãå¿
è¦ããã¾ãããããã鏿è¢ã®ã©ãã«ãããããããã®ããªãå ´åã«æ¢å®ã®ãªãã·ã§ã³ã¨ãã¦å®è¡ããã¾ããã¡ã¢: è©ä¾¡ããå¼ã®å¤ã䏿ãªå¤ã«ãªããªãã®ã§ããã°ãdefault
ç¯ã¯æ¸ãå¿
è¦ã¯ããã¾ãããããããå¼ã䏿ãªå¤ã¨ãªããããã«å¯¾å¦ããå¿
è¦ãããã®ãªããdefault
ç¯ãæ¸ããã¨ã§å¯¾å¿ãå¯è½ã§ãã
ããã§ã¯å®éã®ä¾ãè¦ã¦ã¿ã¾ããããå ã»ã©ã®å¤©æ°äºå ±ã¢ããªã 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 ã§è¦ããã¨ãã§ãã¾ããï¼å®è¡å¯è½ãªãã¢ãããã¾ããï¼
ä¸é æ¼ç®åä¾é¡ã«é²ãåã«ãã¡ãã£ã¨ããæ§æããç´¹ä»ãã¾ããããä¸é
æ¼ç®å (ãããã¯æ¡ä»¶æ¼ç®å) ã¯æ¡ä»¶å¼ãå¤å®ãããã®çµæã«å¿ã㦠2 ã¤ã®å¤ã¾ãã¯å¼ã®ãã¡ãã©ã¡ãã䏿¹ãè¿ãã¾ããããã¯ããç¶æ³ã«ããã¦ã¯ã¨ã¦ã便å©ã§ããåç´ã« true
/false
ã§å¤å®å¯è½ãª 2 ã¤ã®é¸æè¢ã®ãã¡ããçæ¹ãé¸ã¶ã¨ããå ´åã«ã¯ãif...else
ãããã¯ãæ¸ããããå¤ãã®ã³ã¼ããç¯ç´ã§ãã¾ãããã®æ¬ä¼¼ã³ã¼ãã¯ä»¥ä¸ã®ãããªãã®ã«ãªãã¾ãã
æ¡ä»¶å¼ ? ãã¡ãã®ã³ã¼ããå®è¡ãã : 代ããã«ãã¡ãã®ã³ã¼ããå®è¡ãã
ããã§ã¯å®éã«ä¾ãè¦ã¦è¦ã¾ãããã
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()
ã¨ãã颿°ãããããã®é¢æ°ã¯å¼æ°ï¼å
¥åå¤ï¼ã¨ã㦠2 ã¤ã®è²ãåãã¾ãããã®é¢æ°ãå¼ã°ããã¨ãã¦ã§ããµã¤ãã®èæ¯è²ã¯ 1 ã¤ç®ã®å¼æ°ã«ãæåã®è²ã¯ 2 ã¤ã®ç®ã®å¼æ°ã«è¨å®ããã¾ãã
ããã«ãä¸é
æ¼ç®åãå«ã onchange ã¤ãã³ããªã¹ãã¼ãããã¾ããselect.value === 'black'
ã¨ããæ¡ä»¶å¼ã§å§ã¾ã£ã¦ãã¾ãããã®å¼ã true
ã§ãããªãã°ãupdate()
颿°ã弿°ã« 'black'
ã'white'
ãæå®ãã¦å®è¡ãã¾ã (ã¤ã¾ããèæ¯è²ãé»ãæåè²ãç½ã«è¨å®ãã¾ã)ããã®å¼ã false
ã§ãããªãã°ãupdate()
颿°ã弿°ã« 'white'
ã'black'
ãæå®ãã¦å®è¡ãã¾ã (ã¤ã¾ããèæ¯è²ãéã«ãã¾ã)ã
ã¡ã¢: ãã®ä¾ã¯ GitHub ã§ãå ¬éãã¦ãã¾ããï¼ã©ã¤ãå®è¡ã§ã確èªã§ãã¾ããï¼
ã¢ã¯ãã£ãã©ã¼ãã³ã°: åç´ãªã«ã¬ã³ãã¼ãã®ä¾ã§ã¯ãåç´ãªã«ã¬ã³ãã¼ã¢ããªã±ã¼ã·ã§ã³ã®ä½æãæä¼ã£ã¦ãããã¾ããç¾å¨ã以ä¸ã®å 容ãã³ã¼ãã«æ¸ããã¦ãã¾ãã
<select>
è¦ç´ ãããã¾ãã<select>
ã¡ãã¥ã¼ã®é¸æå
容ã夿´ãããå ´åã«ãã¤ãã³ããææã§ããããã« onchange
ã¤ãã³ããã³ãã©ã¼ãè¨å®ããã¦ãã¾ããcreateCalendar()
ã¨å¼ã°ãã颿°ãããã¾ããããªãã«ã¯ãonchange
ãã³ãã©ã¼ã®å
é¨ã«æ¡ä»¶å¼ãæ¸ãã¦ãããã¾ãã// æ¡ä»¶å¼ãããã«æ¸ã
ã¨ããã³ã¡ã³ãã®ããä¸ã«...
choice
夿°ã«æ ¼ç´ããã¦ãã¾ãããã®å¤ã¯ <select>
è¦ç´ ã§é¸æãããå¾ã®å¤ã§ãä¾ãã° 1 æãªãã"1" ã¨ãã£ãå¤ã§ããï¼days
ã¨ãã夿°ã«ã鏿ãããæã®æ¥æ°ãè¨å®ãã¾ãããã®ããã«ã¯ã1 å¹´ã®åæã®æ¥æ°ã調ã¹ãå¿
è¦ãããã§ãããããããå¹´ã¯ãã®ä¾é¡ã®ç®çããå¤ãããããç¡è¦ãã¦ãã ããããã³ã:
ããééã£ã¦ãã¾ã£ã¦ããããªã»ããããã¿ã³ãæ¼ããã¨ã§ãã¤ã§ãå ã«æ»ãã¾ããè©°ã¾ã£ã¦ãã¾ã£ããããçããè¦ãããã¿ã³ã§çããè¦ããã¾ãã
<h2>ã©ã¤ãåºå</h2>
<iframe id="output" width="100%" height="600px"></iframe>
<h2>ã³ã¼ãã¨ãã£ã¿ã¼</h2>
<p class="a11y-label">
ã³ã¼ãã¨ãã£ã¿ã¼ããæããã«ã¯ Esc ãã¼ãæ¼ãã¦ä¸ããï¼Tab ã¯ã¿ãæåãæ¿å
¥ãã¾ãï¼ã
</p>
<textarea id="code" class="playable-code" style="height: 400px;width: 95%">
const select = document.querySelector("select");
const list = document.querySelector("ul");
const h1 = document.querySelector("h1");
select.addEventListener("change", () => {
const choice = select.value;
createCalendar(choice);
});
function createCalendar(month) {
let days = 31;
// æ¡ä»¶å¼ãããã«æ¸ã
list.textContent = "";
h1.textContent = month;
for (let i = 1; i <= days; i++) {
const listItem = document.createElement("li");
listItem.textContent = i;
list.appendChild(listItem);
}
}
select.value = "1 æ";
createCalendar("1 æ");
</textarea>
<div class="playable-buttons">
<input id="reset" type="button" value="ãªã»ãã" />
<input id="solution" type="button" value="çããè¦ã" />
</div>
html {
font-family: sans-serif;
}
h2 {
font-size: 16px;
}
.a11y-label {
margin: 0;
text-align: right;
font-size: 0.7rem;
width: 98%;
}
body {
margin: 10px;
background: #f5f9fa;
}
const reset = document.getElementById("reset");
const solution = document.getElementById("solution");
const outputIFrame = document.querySelector("#output");
const textarea = document.getElementById("code");
const initialCode = textarea.value;
let userCode = textarea.value;
const solutionCode = `const select = document.querySelector("select");
const list = document.querySelector("ul");
const h1 = document.querySelector("h1");
select.addEventListener("change", () => {
const choice = select.value;
createCalendar(choice);
});
function createCalendar(month) {
let days = 31;
if (month === "2 æ") {
days = 28;
} else if (
month === "4 æ" ||
month === "6 æ" ||
month === "9 æ" ||
month === "11 æ"
) {
days = 30;
}
list.textContent = "";
h1.textContent = month;
for (let i = 1; i <= days; i++) {
const listItem = document.createElement("li");
listItem.textContent = i;
list.appendChild(listItem);
}
}
select.value = "1 æ";
createCalendar("1 æ");`;
function outputDocument(code) {
const outputBody = `
<div class="output" style="height: 500px; overflow: auto">
<label for="month">æã鏿: </label>
<select id="month">
<option value="1 æ">1 æ</option>
<option value="2 æ">2 æ</option>
<option value="3 æ">3 æ</option>
<option value="4 æ">4 æ</option>
<option value="5 æ">5 æ</option>
<option value="6 æ">6 æ</option>
<option value="7 æ">7 æ</option>
<option value="8 æ">8 æ</option>
<option value="9 æ">9 æ</option>
<option value="10 æ">10 æ</option>
<option value="11 æ">11 æ</option>
<option value="12 æ">12 æ</option>
</select>
<h1></h1>
<ul></ul>
</div>`;
const outputStyle = `
.output * {
box-sizing: border-box;
}
.output ul {
padding-left: 0;
}
.output li {
display: block;
float: left;
width: 25%;
border: 2px solid white;
padding: 5px;
height: 40px;
background-color: #4a2db6;
color: white;
}
html {
font-family: sans-serif;
}
h2 {
font-size: 16px;
}`;
return `
<!doctype html>
<html>
<head>
<style>${outputStyle}</style>
</head>
<body>
${outputBody}
<script>${code}<${"/"}script>
</body>
</html>`;
}
function update() {
output.setAttribute("srcdoc", outputDocument(textarea.value));
}
update();
textarea.addEventListener("input", update);
reset.addEventListener("click", () => {
textarea.value = initialCode;
userEntry = textarea.value;
solution.value = "çããè¦ã";
update();
});
solution.addEventListener("click", () => {
if (solution.value === "çããè¦ã") {
// æ»ããããã«ãã¦ã¼ã¶ã¼ã®ã³ã¼ãã
// è¨æ¶ãã¦ãã
userCode = textarea.value;
textarea.value = solutionCode;
solution.value = "çããé ã";
} else {
textarea.value = userCode;
solution.value = "çããè¦ã";
}
update();
});
// ã¿ããã¼ã§ããã¹ãã¨ãªã¢ããæãã¦ãã¾ãã®ãé²ãã
// 代ããã«ã«ã¼ã½ã«ä½ç½®ã«ã¿ãæåãæ¿å
¥ãã
textarea.onkeydown = (e) => {
if (e.code === "Tab") {
e.preventDefault();
insertAtCaret("\t");
}
if (e.code === "Escape") {
textarea.blur();
}
};
function insertAtCaret(text) {
const scrollPos = textarea.scrollTop;
let caretPos = textarea.selectionStart;
const front = textarea.value.substring(0, caretPos);
const back = textarea.value.substring(
textarea.selectionEnd,
textarea.value.length,
);
textarea.value = front + text + back;
caretPos += text.length;
textarea.selectionStart = caretPos;
textarea.selectionEnd = caretPos;
textarea.focus();
textarea.scrollTop = scrollPos;
}
ã¢ã¯ãã£ãã©ã¼ãã³ã°: ãã£ã¨ããããã®è²ããé¸ã¶
ãã®ä¾ã§ã¯ãå
ã»ã©è¦ãä¸é
æ¼ç®åã®ä¾ãå
ã«ãä¸é
æ¼ç®åã switch æã«å¤æããåç´ãªã¦ã§ããµã¤ãã«ããã«å¤ãã®é¸æè¢ãé©ç¨ã§ããããã«ãã¾ãã <select>
è¦ç´ ãè¦ã¦ãã ãããä»åã¯å
ã»ã©ã® 2 ã¤ã§ã¯ãªãã5 ã¤ã®é¸æè¢ãããã¾ãã// ããã« SWITCH æãæ¸ã
ã¨ããã³ã¡ã³ãã®çä¸ã« switch æã追å ãã¦ãã ããã
choice
夿°ãå¤å®ããå¼ã¨ãã¦ä½¿ç¨ãã¾ããchoice
夿°ã¯é¸æå¯è½ãªå¤ï¼white
ãblack
ãpurple
ãyellow
ãpsychedelic
ï¼ã®ãã¡ã®ã©ããã§ãããªãã·ã§ã³å¤ã¯è±å°æåã§ãããã©ã¤ãåºåã«è¡¨ç¤ºããããªãã·ã§ã³ ã©ãã«ã¯æ¥æ¬èªã§ãããã¨ã«æ³¨æãã¦ãã ãããã³ã¼ãã§ã¯è±å°æåã®å¤ã使ç¨ãã¾ããããupdate()
颿°ãå®è¡ãããããã«ãã¦ãã ããã颿°ã«ã¯ 2 ã¤ã®å¼æ°ãæå®ãã¾ãã1 ã¤ç®ã®å¼æ°ã¯èæ¯è²ã2 ã¤ç®ã®è²ã¯åæ¯è²ã§ããè²ã¯æååãªã®ã§ãå¿ããã«å¼ç¨ç¬¦ã§å²ã¿ã¾ããããããééã£ã¦ãã¾ã£ã¦ããããªã»ããããã¿ã³ãæ¼ããã¨ã§ãã¤ã§ãå ã«æ»ãã¾ããè©°ã¾ã£ã¦ãã¾ã£ããããçããè¦ãããã¿ã³ã§çããè¦ããã¾ãã
<h2>ã©ã¤ãåºå</h2>
<iframe id="output" width="100%" height="350px"></iframe>
<h2>ã³ã¼ãã¨ãã£ã¿ã¼</h2>
<p class="a11y-label">
ã³ã¼ãã¨ãã£ã¿ã¼ããæããã«ã¯ Esc ãã¼ãæ¼ãã¦ä¸ããï¼Tab ã¯ã¿ãæåãæ¿å
¥ãã¾ãï¼ã
</p>
<textarea id="code" class="playable-code" style="height: 400px;width: 95%">
const select = document.querySelector('select');
const html = document.querySelector('.output');
select.addEventListener('change', () => {
const choice = select.value;
// ããã« SWITCH æãæ¸ã
});
function update(bgColor, textColor) {
html.style.backgroundColor = bgColor;
html.style.color = textColor;
}
</textarea>
<div class="playable-buttons">
<input id="reset" type="button" value="ãªã»ãã" />
<input id="solution" type="button" value="çããè¦ã" />
</div>
html {
font-family: sans-serif;
}
h2 {
font-size: 16px;
}
.a11y-label {
margin: 0;
text-align: right;
font-size: 0.7rem;
width: 98%;
}
body {
margin: 10px;
background: #f5f9fa;
}
const reset = document.getElementById("reset");
const solution = document.getElementById("solution");
const outputIFrame = document.querySelector("#output");
const textarea = document.getElementById("code");
const initialCode = textarea.value;
let userCode = textarea.value;
const solutionCode = `const select = document.querySelector('select');
const html = document.querySelector('.output');
select.addEventListener('change', () => {
const choice = select.value;
switch(choice) {
case 'black':
update('black','white');
break;
case 'white':
update('white','black');
break;
case 'purple':
update('purple','white');
break;
case 'yellow':
update('yellow','purple');
break;
case 'psychedelic':
update('lime','purple');
break;
}
});
function update(bgColor, textColor) {
html.style.backgroundColor = bgColor;
html.style.color = textColor;
}`;
function outputDocument(code) {
const outputBody = `
<div class="output" style="height: 300px;">
<label for="theme">ãã¼ãã鏿: </label>
<select id="theme">
<option value="white">ç½</option>
<option value="black">é»</option>
<option value="purple">ç´«</option>
<option value="yellow">é»è²</option>
<option value="psychedelic">ãµã¤ã±ããªãã¯</option>
</select>
<h1>ããã¯ç§ã®ã¦ã§ããµã¤ãã§ã</h1>
</div>`;
return `
<!doctype html>
<html>
<head>
</head>
<body>
${outputBody}
<script>${code}<${"/"}script>
</body>
</html>`;
}
function update() {
output.setAttribute("srcdoc", outputDocument(textarea.value));
}
update();
textarea.addEventListener("input", update);
reset.addEventListener("click", () => {
textarea.value = initialCode;
userEntry = textarea.value;
solution.value = "Show solution";
update();
});
solution.addEventListener("click", () => {
if (solution.value === "çããè¦ã") {
// remember the state of the user's code
// so we can restore it
userCode = textarea.value;
textarea.value = solutionCode;
solution.value = "çããé ã";
} else {
textarea.value = userCode;
solution.value = "çããè¦ã";
}
update();
});
// ã¿ããã¼ã§ããã¹ãã¨ãªã¢ããæãã¦ãã¾ãã®ãé²ãã
// 代ããã«ã«ã¼ã½ã«ä½ç½®ã«ã¿ãæåãæ¿å
¥ãã
textarea.onkeydown = (e) => {
if (e.code === "Tab") {
e.preventDefault();
insertAtCaret("\t");
}
if (e.code === "Escape") {
textarea.blur();
}
};
function insertAtCaret(text) {
const scrollPos = textarea.scrollTop;
let caretPos = textarea.selectionStart;
const front = textarea.value.substring(0, caretPos);
const back = textarea.value.substring(
textarea.selectionEnd,
textarea.value.length,
);
textarea.value = front + text + back;
caretPos += text.length;
textarea.selectionStart = caretPos;
textarea.selectionEnd = caretPos;
textarea.focus();
textarea.scrollTop = scrollPos;
}
ã¹ãã«ãã¹ã
ãã®è¨äºã®æå¾ã¾ã§æ¥ã¾ããããæã大äºãªæ å ±ãè¦ãã¦ãã¾ããï¼å ã«é²ãåã«ããã®æ å ±ãä¿æãã¦ãããæ¤è¨¼ãããã¹ããããã¾ã â ã¹ãã«ãã¹ã: æ¡ä»¶æ ãè¦ã¦ãã ããã
ã¾ã¨ãJavaScript ã§æ¡ä»¶æ§é ã«ã¤ãã¦ãå®éã«ä½¿ç¨ããä¸ã§æ¬å½ã«å¿ è¦ãããã®ã¯ãããã§ãã¹ã¦ã§ããæ¬¡ã¯ãã³ã¼ãã®ã«ã¼ãå¦çãè¦ã¦ããã¾ãã
é¢é£æ å ±RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4