颿°ã®è¿å¤
æå¾ã«ããã²ã¨ã¤ã颿°ã«é¢ããéè¦ãªæ¦å¿µãè¿å¤ã«ã¤ãã¦èª¬æãã¾ãã颿°ã®ä¸ã«ã¯éè¦ãªå¤ãè¿ããªããã®ãããã°ãè¿ããã®ãããã¾ããè¿å¤ãä½ãªã®ãããããã³ã¼ãã§ã©ã®ããã«ä½¿ç¨ããã®ãã颿°ãæçãªå¤ãè¿ãããã«ããã«ã¯ã©ãããã°ããã®ããçè§£ãããã¨ãéè¦ã§ããä¸è¨ã§ããããã¹ã¦ã«å¿ãã説æããã¾ãã
| åæç¥è: | HTML ããã³ CSS ã®åºç¤ãçè§£ããããã¾ã§ã®ã¬ãã¹ã³ã§èª¬æãã JavaScript ãææ¡ãã¦ãããã¨ã |
|---|---|
| å¦ç¿ææ: |
|
è¿å¤ã¨ã¯
è¿å¤ã¯ããã®åã示ãã¨ãã颿°ã®å®è¡ãå®äºããæã«è¿ãããå¤ã§ããè¿å¤ã«ã¤ãã¦ããã¾ã§æèãã¦ããªãã£ãããããã¾ããããããã¾ã§ã«ä½åº¦ãè¿å¤ãè¦ã¦ãã¦ããã¯ãã§ãã
以ä¸ã®è¦è¦ãã®ããä¾ãè¦ã¦ã¿ã¾ãããï¼ãã®ã·ãªã¼ãºã®éå»ã®è¨äºããï¼ã
const myText = "仿¥ã¯å¯ã";
const newString = myText.replace("å¯ã", "æãã");
console.log(newString); // "仿¥ã¯æãã" ã¨åºå
// æååã® replace() 颿°ã¯æååãåãåãã
// 䏿¹ã®é¨åæååããã䏿¹ã®é¨åæååã«ç½®ãæãã
// ç½®ãæããããæ°ããæååãè¿ãã¾ãã
replace() 颿°ã myText ã¨ããæååã®ä¸ã§å®è¡ããã2 ã¤ã®å¼æ°ã渡ããã¦ãã¾ãã
- ç½®æãããé¨åæåå ('å¯ã')
- ç½®æããæåå ('æãã')
ãã®é¢æ°ãå®äºï¼å®è¡ãçµäºï¼ããæã«ã颿°ã¯ç½®æãè¡ãããæ°ããæååãå¤ã¨ãã¦è¿ãã¾ããä¸è¨ã®ã³ã¼ãã§ã¯ããã®è¿å¤ã夿° newString ã«ä»£å
¥ãã¦ãã¾ãã
replace() 颿°ã«ã¤ãã¦ã® MDN ã®ãªãã¡ã¬ã³ã¹ãã¼ã¸ã«ã¯ãè¿å¤ã¨ããç¯ãããã¾ãã颿°ã«ãã£ã¦è¿ãããå¤ãä½ãç¥ãææ¡ãããã¨ã¯ã¨ã¦ãéè¦ã§ããå¾ã£ã¦ãå¯è½ãªéããã¡ããè¦ãããã«ãã¦ãã ããã
颿°ã«ãã£ã¦ã¯ä½ãå¤ãè¿ãã¾ãããï¼ãã®å ´åããªãã¡ã¬ã³ã¹ãã¼ã¸ã§ã¯è¿å¤ã void ã¾ã㯠undefined ã¨ãã¦è¨è¼ãã¦ãã¾ããï¼ãã¨ãã°ãåã®è¨äºã§ä½ã£ã displayMessage() 颿°ã§ã¯ã颿°ãå¼ã³åºãããã¨ãã«ç¹å®ã®å¤ãè¿ãã¦ãã¾ããããã ç»é¢ã®ã©ããã«ããã¯ã¹ã®è¡¨ç¤ºãä½ãã ãã§ãã
ä¸è¬çã«ãè¿å¤ã¯ã颿°ãä½ããã®è¨ç®ã®ä¸é段éã§ããå ´åã«ç¨ãããã¾ããæçµçµæãåå¾ãããå ´åã颿°ã«ãã£ã¦è¨ç®ãããå¿ è¦ãããå¤ãããã¤ãé¢ä¸ãã¾ãã颿°ãå¤ãè¨ç®ããå¾ãçµæãè¿ããã¨ã§ã夿°ã«æ ¼ç´ãããã¨ãã§ãã¾ããããã¦ããã®å¤æ°ãæ¬¡ã®æ®µéã®è¨ç®ã§ä½¿ç¨ãããã¨ãã§ãã¾ãã
å¤ãè¿ãæ¹æ³
ã«ã¹ã¿ã 颿°ããå¤ãè¿ãããã«ãå¿
è¦ãªãã¨ã¯ã return ã¨ãããã¼ã¯ã¼ãã使ããã¨ã§ããç´è¿ã® random-canvas-circles.html ã®ä¾ã§ãããè¦ãã§ããããdraw() 颿°ã¯ 100 ã®ã©ã³ãã ãªåã HTML ã® <canvas> å
ã«è¡¨ç¤ºãã¾ãã
function draw() {
ctx.clearRect(0, 0, WIDTH, HEIGHT);
for (let i = 0; i < 100; i++) {
ctx.beginPath();
ctx.fillStyle = "rgb(255 0 0 / 50%)";
ctx.arc(random(WIDTH), random(HEIGHT), random(50), 0, 2 * Math.PI);
ctx.fill();
}
}
ã«ã¼ãã®ç¹°ãè¿ãã®ä¸ã§ãç¾å¨ã®åã® x 座æ¨ãy 座æ¨ãåå¾ããããã®ã©ã³ãã ãªå¤ãçæããããã« random() 颿°ã«å¯¾ã㦠3 åã®å¼ã³åºããè¡ããã¾ããrandom() 颿°ã¯ã²ã¨ã¤ã®å¼æ°ï¼æ´æ°ï¼ãåãåãã0 ãããã®åãåã£ãæ°å¤ã¾ã§ã®ä¹±æ°ãè¿ãã¾ãã以ä¸ã®ããã«ãªãã¾ãã
function random(number) {
return Math.floor(Math.random() * number);
}
次ã®ããã«æ¸ããã¨ãå¯è½ã§ãã
function random(number) {
const result = Math.floor(Math.random() * number);
return result;
}
ãããæåã®ãã®ã®æ¹ãããã³ã³ãã¯ãã§ãå¹çããæ¸ãã¦ãã¾ãã
颿°ãå¼ã³åºããããã³ã«ã Math.floor(Math.random() * number) ã®è¨ç®ã®çµæãè¿ããã¾ãããã®è¿å¤ã¯ã颿°ãå¼ã³åºãããå ´æã«ç¾ãã¦ãã³ã¼ããç¶è¡ããã¾ãã
ãããã£ã¦ã次ã®ãã®ãå®è¡ããå ´åã
ctx.arc(random(WIDTH), random(HEIGHT), random(50), 0, 2 * Math.PI);
3 ã¤ã® random() ããããã 500ã200ã35 ã¨å¤ãè¿ããå ´åããã®ã³ã¼ãã¯å®éã«ã¯æ¬¡ã®ããã«å®è¡ããããã¨ã«ãªãã¾ãã
ctx.arc(500, 200, 35, 0, 2 * Math.PI);
ã³ã¼ãä¸ã®é¢æ°ã®å¼ã³åºããã¾ãè¡ããããã®è¿å¤ã颿°ã®å¼ã³åºãã®ä»£ããã¨ãªãããã®å¾ã«ã³ã¼ããã®ãã®ãå®è¡ããã¾ãã
颿°ã®è¿å¤ã®å®è£
è¿å¤ã®ãã颿°ãããã¤ãæ¸ãã¦ã¿ã¾ãããã
-
function-library.html ãã¡ã¤ã«ã GitHub ãããã¼ã«ã«ç°å¢ã«ã³ãã¼ãã¾ããããããã¯åç´ãª HTML ãã¼ã¸ã§ãããã¹ã
<input>ãã£ã¼ã«ãã¨æ®µè½ãæ ¼ç´ããã¦ãã¾ããã¾ãã<script>è¦ç´ ãããã 2 ã¤ã®å¤æ°ã«ä¸¡æ¹ã® HTML è¦ç´ ã¸ã®åç §ãæ ¼ç´ããã¦ãã¾ãããã®ãã¼ã¸ã§ã¯ãããã¹ãããã¯ã¹ã«æ°å¤ãå ¥åããã¨ãä¸ã«ããã«é¢é£ã®ããç°ãªãæ°å¤ã表示ããã¾ãã -
ããã¤ãã®æçãªé¢æ°ã
<script>è¦ç´ ã®æ¢åã® 2 è¡ã®ä¸ã«è¿½å ãã¾ããããjsfunction squared(num) { return num * num; } function cubed(num) { return num * num * num; } function factorial(num) { if (num < 0) return undefined; if (num === 0) return 1; let x = num - 1; while (x > 1) { num *= x; x--; } return num; }squared()颿°ã¨cubed()颿°ã¯å¤§å¤ããããããã§ãããã弿°ã¨ãã¦æ¸¡ãããå¤ã® 2 ä¹ã 3 ä¹ãè¿ãã¦ãã¾ããfactorial()颿°ã¯æ¸¡ãããæ°ã®éä¹ãè¿ãã¾ãã -
ããã¹ããã£ã¼ã«ãã«å ¥åãããæ°å¤ãåºåããå¦çã追å ãã¦ããã¾ããã¤ãã³ããã³ãã©ã¼ãæ¢åã®é¢æ°ã®ä¸ã«è¨è¿°ãã¾ãããã
jsinput.addEventListener("change", () => { const num = parseFloat(input.value); if (isNaN(num)) { para.textContent = "æ°å¤ãå ¥åãã¦ãã ããã"; } else { para.textContent = `${num} ã®äºä¹ã¯ ${squared(num)} ã§ãã`; para.textContent += `${num} ã®ä¸ä¹ã¯ ${cubed(num)} ã§ãã`; para.textContent += `${num} ã®éä¹ã¯ ${factorial(num)} ã§ãã`; } }); -
ã³ã¼ããä¿åãã¦ãããããã©ã¦ã¶ã¼ã§èªã¿è¾¼ã¿ã試ãã¦ã¿ã¾ãããã
ä¸è¨ã®ã¹ããã 3 ã® addEventListener() 颿°ã«ã¤ãã¦èª¬æãã¾ãã
changeã¤ãã³ããªã¹ãã¼ã追å ãããã¨ã§ããã®é¢æ°ã¯ããã¹ãå ¥åæ¬ã§changeã¤ãã³ããçºè¡ããããã³ã«å®è¡ããã¾ããã¤ã¾ããæ°ããå¤ãinputã«å ¥åãããã¨ãã¨ã確å®ãããæã§ãï¼å¤ãå ¥åãã Tab ã Return ãæ¼ãã¦å ¥åãããã©ã¼ã«ã¹ãå¤ããã¨ããªã©ï¼ããã®ç¡å颿°ãå®è¡ãããã¨ãinputã«å ¥åãããå¤ãnum宿°ã«ä»£å ¥ããã¾ããifæã§ãæ°å¤ã§ãªããã®ãå ¥åãããå ´åã«ã¨ã©ã¼ã¡ãã»ã¼ã¸ã表示ãã¾ãããã®æ¡ä»¶ã¯ãå¼isNaN(num)ãtrueãè¿ããã©ãããã§ãã¯ãã¾ããisNaN()颿°ã¯numãæ°å¤ã§ãªããã©ãããæ¤æ»ãã¾ããæ°å¤ã§ãªãå ´åã¯trueãè¿ããããã§ããã°falseãè¿ãã¾ãã- ãããã®æ¡ä»¶ã
falseãè¿ããå ´åãnumã®å¤ã¯æ°å¤ã§ããã颿°ã段è½è¦ç´ å ã«æ°å¤ã®äºä¹ãä¸ä¹ãéä¹ã®å¤ã示ãæã表示ãã¾ãããã®æã§ã¯squared()ãcubed()ãfactorial()ã®å颿°ãå¼ã³åºããå¿ è¦ãªå¤ãè¨ç®ãã¾ãã
ã¡ã¢: ãããµã³ãã«ããã¾ãåä½ããªãå ´åã¯ãGitHub ä¸ã®å®æçã¨æ¯è¼ãªã©ãã¦ã¿ã¦ãã ããï¼ã©ã¤ãå®è¡ã§ã確èªã§ãã¾ãï¼ã
èªåã ãã®é¢æ°ã追å ãã¦ã¿ããï¼
ãã®æç¹ã§ãç¬èªã®é¢æ°ãããã¤ãæ¸ãåºãã¦ã©ã¤ãã©ãªã¼ã«è¿½å ãã¦ã¿ã¾ããããããæ°å¤ã®å¹³æ¹æ ¹ãç«æ¹æ ¹ãæ±ãã颿°ã©ãã§ããï¼ã¾ããç¹å®ã®åå¾ãæã¤åã®åå¨ãæ±ãã颿°ã¯ã©ãã§ããããï¼
颿°ã«é¢ããããã¤ãã®ãã³ãã示ãã¾ãã
- ã¨ã©ã¼å¦çã颿°ã«æ¸ãå¥ã®ä¾ãè¦ã¦ãã ãããä¸è¬ã«ãå¿ è¦ãªå¼æ°ã妥å½ãã©ãããçç¥å¯è½ãªå¼æ°ã«ã¯ä½ããã®æ¢å®å¤ãæä¾ããã¦ãããã©ããã調ã¹ãã®ã¯ããèãã§ãããããããã¨ã§ãããã°ã©ã ã®ã¨ã©ã¼ãçºçãã«ãããªãã¾ãã
- 颿°ã©ã¤ãã©ãªã¼ã使ããã¨ããèãã«ã¤ãã¦èãã¦ã¿ã¾ããããããã°ã©ãã³ã°ã®ãã£ãªã¢ãéããã«ã¤ãã¦ãåããããªãã¨ãä½åº¦ãç¹°ãè¿ãããã«ãªãã§ãããããã®ãããªãã¨ãè¡ãããã®ã¦ã¼ãã£ãªãã£é¢æ°ã®ã©ã¤ãã©ãªã¼ãèªåèªèº«ã§ä½æããã®ã¯ããèãã§ããæ°ããã³ã¼ãã«ã³ãã¼ãããã¨ãã§ãã¾ããã HTML ãã¼ã¸ã«é©ç¨ãããã¨ãã§ãã¾ãã
ã¾ã¨ã
以ä¸ã颿°ã¯æ¥½ãããã¨ã¦ã便å©ã§ãæ§æãæ©è½ã«ã¤ãã¦ã¾ã ã¾ã 話ããã¨ã¯ããããããã¾ããããããã¯ããªãçè§£ãããããã®ã§ãã
次åã®è¨äºã§ã¯ãããã¾ã§ã®è¨äºã§é¢æ°ã«ã¤ãã¦èª¬æããå 容ã«ã¤ãã¦ãã©ãã ãçè§£ãã身ã«ã¤ãã¦ãããã確èªããããã®ãã¹ããããã¤ããç´¹ä»ãã¾ãã
é¢é£æ å ±
- 颿° â ããé«åº¦ãªé¢æ°ã«é¢é£ããæ å ±ãç¶²ç¾ ãã詳細ãªã¬ã¤ãã
- Callback functions in JavaScript â ä¸è¬ç㪠JavaScript ã®ãã¿ã¼ã³ã¯ããã颿°ãå¥ã®é¢æ°ã«å¼æ°ã¨ãã¦æ¸¡ããã¨ã§ããããã¯åãåã£ã颿°ã®ä¸ã§å¼ã³åºããã¾ããããã«ã¤ãã¦ã¯ããã®ã³ã¼ã¹ã®ç¯çãå°ãè¶ ãã¦ãã¾ãããããã«ã§ãåå¼·ãã価å¤ã¯ããã¾ãã