๐Ÿ’ป ๊ณต๋ถ€ ๊ธฐ๋ก/๐ŸŽž๏ธ JavaScript

JavaScript | ํด๋กœ์ € ํ•จ์ˆ˜

  • -

 

ํด๋กœ์ €๋Š” ํ•จ์ˆ˜์™€ ํ•จ์ˆ˜๊ฐ€ ์„ ์–ธ๋œ ์–ดํœ˜์  ํ™˜๊ฒฝ์˜ ์กฐํ•ฉ์ด๋‹ค. ํด๋กœ์ €๋ฅผ ์ดํ•ดํ•˜๋ ค๋ฉด JS๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€์ˆ˜์˜ ์œ ํšจ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•˜๋Š”์ง€๋ฅผ ์ดํ•ดํ•ด์•ผํ•œ๋‹ค.

 

function init() { var name = "Mozilla"; // name์€ init์— ์˜ํ•ด ์ƒ์„ฑ๋œ ์ง€์—ญ ๋ณ€์ˆ˜์ด๋‹ค. function displayName() { // displayName() ์€ ๋‚ด๋ถ€ ํ•จ์ˆ˜์ด๋ฉฐ, ํด๋กœ์ €๋‹ค. alert(name); // ๋ถ€๋ชจ ํ•จ์ˆ˜์—์„œ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. } displayName(); } init();

 

if (Math.random() > 0.5) { var x = 1; } else { var x = 2; } console.log(x);

 

์˜ˆ์ œ1

function makeFunc() { var name = "Mozilla"; function displayName() { alert(name); } return displayName; } var myFunc = makeFunc(); //myFunc๋ณ€์ˆ˜์— displayName์„ ๋ฆฌํ„ดํ•จ //์œ ํšจ๋ฒ”์œ„์˜ ์–ดํœ˜์  ํ™˜๊ฒฝ์„ ์œ ์ง€ myFunc(); //๋ฆฌํ„ด๋œ displayName ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰(name ๋ณ€์ˆ˜์— ์ ‘๊ทผ)

 

์˜ˆ์ œ2

function makeAdder(x) { var y = 1; // ๋ฐ˜์˜๋œ ์ƒํƒœ return function(z) { y = 100; // 1 > 100 ์œผ๋กœ ๋ณ€๊ฒฝ return x + y + z; }; } var add5 = makeAdder(5); // x ์ธ์ž ๊ฐ’ 5 ์ •์˜ var add10 = makeAdder(10); //ํด๋กœ์ €์— x์™€ y์˜ ํ™˜๊ฒฝ์ด ์ €์žฅ๋จ // retern add5๋ณ€์ˆ˜์˜ ์ƒˆ๋กœ์šด ํ•จ์ˆ˜ ์ •์˜๋กœ add5(z); z์˜ ์ธ์ž ๊ฐ’ 2 ์ •์˜ add5์˜ retern x+y+z; ์‹คํ–‰ // add5 ๋Š” ์ด๋ฏธ makeAdder ํ•จ์ˆ˜์˜ x๊ฐ’ 5๋ฅผ ๋‹ด๊ณ  ์žˆ์Œ. // add5(z) ์˜ z ์ธ์ž ๊ฐ’์— ์ƒˆ๋กญ๊ฒŒ ์ •์˜ํ•˜์—ฌ y ๊ฐ’์˜ ์ƒˆ๋กœ์šด ๊ตฌ์„ฑ๊ณผ z ์ธ์ž์˜ ๊ฐ’ ์ •์˜ // ์ตœ์ข…์  add5() ์˜ retern ์œผ๋กœ ์‹คํ–‰ ๊ณ„์‚ฐ. console.log(add5(2)); // 107 (x:5 + y:100 + z:2) console.log(add10(2)); // 112 (x:10 + y:100 + z:2) // ํ•จ์ˆ˜ ์‹คํ–‰ ์‹œ ํด๋กœ์ €์— ์ €์žฅ๋œ x, y๊ฐ’์— ์ ‘๊ทผํ•˜์—ฌ ๊ฐ’์„ ๊ณ„์‚ฐ

 

ํด๋กœ์ €๋Š” ์–ด๋–ค ๋ฐ์ดํ„ฐ(์–ดํœ˜์  ํ™˜๊ฒฝ)์™€ ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์—ฐ๊ด€์‹œ์ผœ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์œ ์šฉํ•˜๋‹ค. ์ด๊ฒƒ์€ ๊ฐ์ฒด๊ฐ€ ์–ด๋–ค ๋ฐ์ดํ„ฐ์™€(๊ทธ ๊ฐ์ฒด์˜ ์†์„ฑ) ํ•˜๋‚˜ ํ˜น์€ ๊ทธ ์ด์ƒ์˜ ๋ฉ”์†Œ๋“œ๋“ค์„ ์—ฐ๊ด€์‹œํ‚จ๋‹ค๋Š” ์ ์—์„œ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๋ถ„๋ช…ํžˆ ๊ฐ™์€ ๋งฅ๋ฝ์— ์žˆ๋‹ค.

 

์‹ค์šฉ ์˜ˆ์ œ (CSS)

body { font-family: Helvetica, Arial, sans-serif; font-size: 12px; } h1 { font-size: 1.5em; } h2 { font-size: 1.2em; }
์šฐ๋ฆฌ์˜ ๋Œ€ํ™”์‹ ๊ธ€์ž ํฌ๊ธฐ ๋ฒ„ํŠผ๋“ค์€ body ์š”์†Œ์˜ font-size ์†์„ฑ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๊ณ  ์ด๋Ÿฐ ์กฐ์ •์€ ์ƒ๋Œ€์  ๋‹จ์œ„๋“ค ๋•๋ถ„์— ํŽ˜์ด์ง€์˜ ๋‹ค๋ฅธ ์š”์†Œ์— ์˜ํ•ด ์„ ํƒ๋œ๋‹ค.

 

์‹ค์šฉ ์˜ˆ์ œ (JS)

function makeSizer(size) { return function() { document.body.style.fontSize = size + 'px'; }; } var size12 = makeSizer(12); var size14 = makeSizer(14); var size16 = makeSizer(16);
size2, size4, size6์€ body ์š”์†Œ์˜ ๊ธ€์ž ํฌ๊ธฐ๋ฅผ ๊ฐ๊ฐ 12, 14, 16 ํ”ฝ์…€๋กœ ๋ฐ”๊พธ๋Š” ํ•จ์ˆ˜์ด๋‹ค. ์ด ํ•จ์ˆ˜๋“ค์€ ์•„๋ž˜์ฒ˜๋Ÿผ ๋ฒ„ํŠผ๋“ค์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

document.getElementById('size-12').onclick = size12; document.getElementById('size-14').onclick = size14; document.getElementById('size-16').onclick = size16;
<a href="#" id="size-12">12</a> <a href="#" id="size-14">14</a> <a href="#" id="size-16">16</a>

 

12, 14, 16 ๋ฒ„ํŠผ์œผ๋กœ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ถœ์ฒ˜ | MDN JavaScript

 

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.