í¨ìì ëí´ ì°ë¦¬ê° ì´ì¼ê¸°í´ì¼ í ë§ì§ë§ í ê°ì§ íìì ì¸ ê°ë ì´ ììµëë¤ â ë°í ê°(return value)ì ëë¤. ëªëª í¨ìë¤ì ì¤ìí ê°ì ë°í(return)íì§ ìì§ë§, ë¤ë¥¸ í¨ìë¤ì ë°íí©ëë¤. ê·¸ ê°ë¤ì´ 무ìì¸ì§, ê·¸ê²ë¤ì ì´ë»ê² ì¬ì©íëì§, ê·¸ë¦¬ê³ ì´ë»ê² í¨ìê° ì ì©í ê°ì ë°ííê² ë§ëëì§ë¥¼ ì´í´íë ê²ì ì¤ìí©ëë¤. ì°ë¦¬ë ì´ ëª¨ë ê²ì ìëìì ë¤ë£° ê²ì ëë¤.
íìí ì¬ì ì§ì: 기본ì ì¸ ì»´í¨í° ì¬ì© ë¥ë ¥, HTMLê³¼ CSSì ëí 기본ì ì¸ ì´í´, JavaScript 첫걸ì, í¨ì â ì½ë ì¬ì¬ì©. 목í: í¨ì ë°í ê°ê³¼, ì´ë»ê² ê·¸ê²ì ì¬ì©íëì§ ì´í´í기. ë°í ê°ì´ 무ìì¸ê°ì?ë°í ê°(return value)ì´ë ê·¸ë¥ ë¤ë¦¬ë ê·¸ëë¡ì ëë¤ â í¨ìê° ìë£ëìì ë í¨ìê° ë°ííë ê°ì ëë¤. ì¬ë¬ë¶ì ì´ë¯¸ ì ì°¨ë¡ ë°í ê°ì ë§ì£¼ì³¤ìµëë¤. ë¹ë¡ ê·¸ê²ë¤ì ëí´ ë¶ëª íê² ìê°íì§ë ìììì§ë 모르ì§ë§ì.
(ì´ ì리ì¦ì ì§ë 문ììì 본) ìµìí ìì ë¡ ëìê° ë´ ìë¤.
let myText = "The weather is cold";
let newString = myText.replace("cold", "warm");
console.log(newString); // Should print "The weather is warm"
// replace() 문ìì´ í¨ìë 문ìì´ì ì·¨í´ì,
// ë¶ë¶ì´(substring)ì ë¤ë¥¸ ê²ì¼ë¡ ë°ê¾¸ê³ ,
// ìë¡ì´ 문ìì´ì ë°íí©ëë¤.
replace()
í¨ìë myText
문ìì´ìì í¸ì¶ëìê³ , ë 매ê°ë³ì(parameter)를 ì ë¬ë°ììµëë¤:
ì´ í¨ìê° ìë£ëìì (ì¤íì ëëì) ë, ê°ì ë°ííëë°, ê·¸ê²ì êµì²´ë 문ìì´ì
ëë¤. ìì ì½ëìì, ì´ ë°í ê°ì ê²°ê³¼ë newString
ì ì ì¥ë©ëë¤.
replace()
í¨ì MDN ë í¼ë°ì¤ íì´ì§ë¥¼ 본ë¤ë©´, return value ë¼ë ì¹ì
ì ë³´ê² ë ê²ì
ëë¤. ì´ë¤ ê°ì´ í¨ìì ìí´ ë°íëëì§ ì´í´íê³ ìë ê²ì 몹ì ì ì©í©ëë¤. ì´ëë ì§ ê°ë¥í ê³³ì ì´ ì 보를 ì¬ì©í´ ë³¼ ì ìëë¡ ë§ì
ëë¤.
ì´ë¤ í¨ìë¤ì ì´ë í ê°ë ë°ííì§ ììµëë¤. (ì´ ê²½ì°, ì°ë¦¬ì ë í¼ë°ì¤ íì´ì§ë ë°í ê°ì void
ë undefined
ë¡ ë³´ì¬ì¤ëë¤.) ì를 ë¤ë©´, ì§ë 문ììì ì°ë¦¬ê° ë§ë displayMessage()
í¨ììì, ì´ë¤ í¹ì í ê°ë í¨ìê° í¸ì¶ëìì ë ë°íëì§ ììµëë¤. ì´ í¨ìë ë¨ì§ íë©´ ì´ëê°ì ë°ì¤ê° ëíëê² ë§ë¤ ë¿ì
ëë¤ â ê·¸ê² ì ë¶ì
ëë¤!
ì¼ë°ì ì¼ë¡, ë°í ê°ì í¨ìê° ì´ë¤ ì¢ ë¥ì ê³ì°ììì ì¤ê° ë¨ê³ì¸ ê³³ìì ì¬ì©ë©ëë¤. ìµì¢ 결과를 ì»ê¸° ìí´, ëªëª ê°ë¤ì í¨ìì ìí´ ê³ì°ë íìê° ìì ì ììµëë¤. í¨ìê° ê°ì ê³ì°í ì´íì, ê²°ê³¼ê° ë³ìì ì ì¥ë ì ìëë¡ í¨ìë ê³ì° 결과를 ë°íí©ëë¤; ê·¸ë¦¬ê³ ë¤ì ë¨ê³ì ê³ì°ìì ê·¸ ë³ì를 ì¬ì©í ì ììµëë¤.
ì¬ì©ì ì ì í¨ììì ë°í ê° ì¬ì©í기ì¬ì©ì ì ì(custom) í¨ììì ê°ì ë°íí기 ìí´ìë, 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 = "rgba(255,0,0,0.5)";
ctx.arc(random(WIDTH), random(HEIGHT), random(50), 0, 2 * Math.PI);
ctx.fill();
}
}
ê° ë°ë³µ ë´ìì, íì¬ ìì x-coordinate, y-coordinate, ê·¸ë¦¬ê³ radiusì ëí 무ìì ê°ì ìì±í기 ìí´, random()
í¨ìê° ì¸ ë² í¸ì¶ëììµëë¤. 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);
ë§ì½ ì¸ ê°ì random()
í¸ì¶ì´ ê°ê° ê° 500
, 200
, ê·¸ë¦¬ê³ 35
를 ë°ííë¤ë©´, ì´ ì¤ì ì¤ì ë¡ë ë¤ìì²ë¼ ì¤íë ê²ì
ëë¤:
ctx.arc(500, 200, 35, 0, 2 * Math.PI);
í¨ì í¸ì¶ë¤ì´ 먼ì ì¤íëê³ , ì¤ ìì²´ê° ê·¸ë¦¬ê³ ì ì¤íë기 ì ì í¨ìì ë°í ê°ì´ í¨ì í¸ì¶ì ëì í©ëë¤.
ì§ì í´ë³´ê¸°: ì°ë¦¬ë§ì ë°í ê° í¨ìë°í ê°ì í¬í¨íë ì°ë¦¬ë§ì í¨ì를 ìì±í´ ë´ ìë¤.
ì°ì , GitHubìì function-library.html íì¼ì ë¤ì´ë°ì¼ì¸ì. ì´ê²ì í
ì¤í¸ <input>
íëì ë¨ë½ì í¬í¨íê³ ìë ë¨ìí HTML íì´ì§ì
ëë¤. ëí <script>
ììê° ìëë°, ë HTML ììì ëí 참조를 ë ë³ìì ì ì¥í´ ëììµëë¤. ì´ ìì íì´ì§ë ì«ì를 í
ì¤í¸ ë°ì¤ì ì
ë ¥í ì ìê² íê³ , ê·¸ê²ì ê´ë ¨ë ë¤ë¥¸ ì«ìë¤ì ìëì ë¨ë½ì íìí ê²ì
ëë¤.
ëªëª ì ì©í í¨ìë¤ì ì´ <script>
ììì ì¶ê°í©ìë¤. ë ì¤ì JavaScript ìëì, ë¤ìì í¨ì ì ì를 ì¶ê°íì¸ì.
function 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()
í¨ìë ë¶ëª
í©ëë¤ â ì´ í¨ìë¤ì 매ê°ë³ìë¡ ì£¼ì´ì§ ì«ìì ì 곱과 ì¸ì ê³±ì ë°íí©ëë¤. factorial()
í¨ìë 주ì´ì§ ì«ìì í©í 리ì¼ì ë°íí©ëë¤.
ë¤ìì¼ë¡, ì°ë¦¬ë í ì¤í¸ ì¸íì ì ë ¥ë ì«ìì ëí ì 보를 ì¶ë ¥í ë°©ë²ì í¬í¨í ê²ì ëë¤. ë¤ìì ì´ë²¤í¸ í¸ë¤ë¬ë¥¼ ì¡´ì¬íë í¨ìë¤ ìëì ì ë ¥í´ ë³´ì¸ì:
input.onchange = function () {
const num = parseFloat(input.value);
if (isNaN(num)) {
para.textContent = "You need to enter a number!";
} else {
para.textContent =
num +
" squared is " +
squared(num) +
". " +
num +
" cubed is " +
cubed(num) +
". " +
num +
" factorial is " +
factorial(num) +
".";
}
};
ì¬ê¸°ì ì°ë¦¬ë onchange
ì´ë²¤í¸ í¸ë¤ë¬ë¥¼ ë§ë¤ììµëë¤. ì´ê²ì change
ì´ë²¤í¸ê° ì¸ì ë ì§ í
ì¤í¸ ì¸íìì ë°ì(fire)ëìì ë ì¤íë©ëë¤ â ì¦, ìë¡ì´ ê°ì´ í
ì¤í¸ input
ì ì
ë ¥ëê³ , ì ì¶ëìì ë (ì: ê°ì ì
ë ¥íê³ , Tabì´ë Returnì ëë¬ ê·¸ë¦¬ê³ ì ì¸íìì í¬ì»¤ì¤ë¥¼ ì®ê²¼ì ë). ìµëª
í¨ìê° ì¤íëìì ë, input
ë´ì ê°ì num
ììì ì ì¥ë©ëë¤.
ë¤ìì¼ë¡, ì°ë¦¬ë 조건문 í
ì¤í¸ë¥¼ í©ëë¤. ë§ì½ ì
ë ¥ë ê°ì´ ì«ìê° ìëë¼ë©´, ì¤ë¥ ë©ìì§ê° ë¨ë½ì ì¶ë ¥ë©ëë¤. ì´ í
ì¤í¸ë ííì(expression) isNaN(num)
ì´ true
를 ë°ííëì§ë¥¼ ì´íëë¤. isNaN()
í¨ìë num
ê°ì´ ì«ìê° ìëì§ë¥¼ ê²ì¬í©ëë¤ â ë§ì½ ê·¸ë ë¤ë©´, ì´ê²ì true
를 ë°ííê³ , ìëë¼ë©´, false
를 ë°íí©ëë¤.
ë§ì½ ê²ì¬ê° false
를 ë°ííë¤ë©´, num
ê°ì ì«ìì
ëë¤. ê·¸ë¬ë¯ë¡, 문ì¥ì´ ê·¸ ì«ìì ì ê³±, ì¸ì ê³±, ê·¸ë¦¬ê³ í©í 리ì¼ì ìì íë ë¨ë½ ìì ë´ë¶ì ì¶ë ¥ë©ëë¤. 문ì¥ì squared()
, cubed()
, ê·¸ë¦¬ê³ factorial()
í¨ì를 ì구ë ê°ì ê³ì°í기 ìí´ í¸ì¶í©ëë¤.
ì½ë를 ì ì¥íê³ , ë¸ë¼ì°ì ìì ë¡ëí í, ìëí´ ë³´ì¸ì.
ì°¸ê³ : ë§ì½ ì´ ìì 를 ìì íë ë° ì´ë ¤ìì´ ìë¤ë©´, ìì ë¡ê² GitHubì ìë ìì±ë ë²ì ê³¼ ë¹êµí´ ë³´ê±°ë (ì¤ì ë¡ ìëíë 모ìµë ë³´ì¸ì), ì°ë¦¬ìê² ëìì ìì²í´ ë³´ì¸ì.
ì´ì ì¬ë¬ë¶ì ì°¨ë¡ì ëë¤!ì´ ìì ìì, ì°ë¦¬ë ì¬ë¬ë¶ì´ ë ê°ì í¨ì를 ìì±í´ ë³´ê³ ë¼ì´ë¸ë¬ë¦¬ì ì¶ê°í기를 ìí©ëë¤. ì«ìì ì 곱근ì´ë ì¸ì 곱근ì ì´ë ì¸ì? í¹ì 주ì´ì§ ë°ì§ë¦ì ìì ëë ë ì´ë ì¸ì?
ëªëª ì¶ê°ì ì¸ í¨ìì ê´ê³ë íë¤:
ì´ ë¬¸ì를 ëê¹ì§ ì½ì¼ì ¨ì§ë§, ì¤ìí ê²ë¤ì ì¬ì í 기ìµíê³ ê³ì ê°ì? ë¤ì 문ì를 ì½ê¸° ì ì ì´ ë¬¸ìì ë´ì©ì ì íìµíê³ ì´í´íì ¨ëì§ íì¸íì¤ ì ììµëë¤ â ì¤ë ¥ì íê°í´ ë³´ì¸ì: í¨ì.
ê²°ë¡ì´ì ëë¬ìµëë¤ â í¨ìë ì¦ê²ê³ , ì주 ì ì©íê³ , ê·¸ë¦¬ê³ ë¹ë¡ í¨ìì 문ë²ê³¼ 기ë¥ì±ì ëí´ ì´ì¼ê¸°í ê²ë¤ì´ ë§ì§ë§, ê·¸ê²ë¤ì 꽤 ì´í´í기 ì½ìµëë¤.
ë§ì½ ëë ì§ ì´í´íì§ ëª»í ê² ìë¤ë©´, ìì ë¡ê² ì´ ë¬¸ì를 ë¤ì ì½ê±°ë, 문ìí기ìì ëìì ìì²í´ ë³´ì¸ì.
ê°ì´ 보기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