[JS] ํ•จ์ˆ˜

XIXIยท2022๋…„ 6์›” 13์ผ
0

๋Œ€๊ตฌAI์Šค์ฟจ

๋ชฉ๋ก ๋ณด๊ธฐ
33/57
post-thumbnail

๐ŸŒฑ ํ•จ์ˆ˜

โœ๏ธ์žฅ์ 

  • ๊ฐ ๋ช…๋ น ์‹œ์ž‘๊ณผ ๋์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ ๊ฐ€๋Šฅ
  • ํ•จ์ˆ˜์— ์ด๋ฆ„์„ ๋ถ™์ผ ๊ฒฝ์šฐ ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ํ•จ์ˆ˜ ์‹คํ–‰ ๊ฐ€๋Šฅ

โœ๏ธ์„ ์–ธ

  • ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ค ๋ช…๋ น์„ ์ฒ˜๋ฆฌํ• ์ง€ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ
  • function ์˜ˆ์•ฝ์–ด๋ฅผ ์‚ฌ์šฉ, { } ์•ˆ์— ์‹คํ–‰ํ•  ๋ช…๋ น ์ž‘์„ฑ

โœ๏ธํ˜ธ์ถœ

  • ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ด ์„ ์–ธํ•œ ํ•จ์ˆ˜ ์‹คํ–‰
var num1 = 10;
var num2 = 20;
var sum = num1 + num2;
alert("result:" + sum);

function addNumber {
      var num1 = 10;
      var num2 = 20;
      var sum = num1 + num2;
      alert("result: " + sum);
}

addNumber();

ํ•จ์ˆ˜์— ์ด๋ฆ„์„ ๋ถ™์—ฌ ์„ ์–ธ
ํ•„์š”์— ๋”ฐ๋ผ ํ˜ธ์ถœํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

  • function ํ˜ธ์ถœ ๊ฒฝ์šฐ,์œ„์น˜๋Š” ์ƒ๊ด€ ์—†์ง€๋งŒ ํ•จ์ˆ˜ ์„ ์–ธ ํ›„ ํ˜ธ์ถœํ•˜๋Š” ์ˆœ์„œ๋ฅผ ์ง€ํ‚ค๋Š” ๊ฒƒ์„ ๊ถŒํ•จ

๐ŸŒฑ ๋ณ€์ˆ˜

โœ๏ธvar

ES6 ๋ฒ„์ „ ์ดํ›„ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ์˜ˆ์•ฝ์–ด

var ๋ณ€์ˆ˜ ์Šค์ฝ”ํ”„(scope)

  • ๋ณ€์ˆ˜ ์ด๋ฆ„ ์•ž์— var๋ฅผ ๋ถ™์ด๋ฉด ์ง€์—ญ ๋ณ€์ˆ˜(ํ•จ์ˆ˜ ์•ˆ์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
  • var๊ฐ€ ์—†์œผ๋ฉด ์ „์—ญ ๋ณ€์ˆ˜(ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜)

var ๋ณ€์ˆ˜ ํ˜ธ์ด์ŠคํŒ…
๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ธฐ ์ „ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด

  • ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธฐ์ง€ ์•Š์Œ
  • ๋ณ€์ˆ˜ ์„ ์–ธ์ด ์•ž์— ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋Œ์–ด์˜ฌ๋ ค(hosting) ์ธ์‹ํ•จ.
    ์„ ์–ธ์„ ํ•˜์ง€ ์•Š์•˜๋Š”๋ฐ ์„ ์–ธํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋Œ์–ด์˜ฌ๋ ค์„œ ์ฐฉ๊ฐ.
    ๋ณ€์ˆ˜ defalut๊ฐ’์ด undefined

var ๋ณ€์ˆ˜ ์žฌ์„ ์–ธ
์ด๋ฏธ ์žˆ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋‹ค์‹œ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Œ

  • ์„œ๋กœ ๋‹ค๋ฅธ ์œ„์น˜์—์„œ ๊ฐ™์€ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ฌธ์ œ
  • ์žฌ์„ ์–ธํ•  ๊ฒฝ์šฐ ์ด์ „ ๋ณ€์ˆ˜๋ฅผ ๋ฎ์–ด์“ฐ๊ธฐํ•˜์—ฌ ์˜ˆ์ƒํ•˜์ง€ ๋ชปํ•œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ

์ด๋Ÿฐ ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ๋ณ€์ˆ˜

โœ๏ธlet / const

ํ”„๋กœ๊ทธ๋žจ ์•ˆ์—์„œ ๊ฐ’์ด ๋ณ€ํ•˜๋Š” ๋ณ€์ˆ˜

๋ณ€์ˆ˜ ์Šค์ฝ”ํ”„
let ๋ณ€์ˆ˜์™€ const ๋ณ€์ˆ˜๋Š” ๋ธ”๋ก ์˜์—ญ์˜ ์Šค์ฝ”ํ”„

ํ˜ธ์ด์ŠคํŒ… ์—†์Œ
๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•˜๋ฉด ์˜ค๋ฅ˜ ๋ฐœ์ƒ

๋ณ€์ˆ˜์˜ ์žฌ์„ ์–ธ ๋ถˆ๊ฐ€
๊ฐ™์€ ๋ณ€์ˆ˜๋ฅผ ๋‹ค์‹œ ์„ ์–ธํ•˜๋ฉด ์˜ค๋ฅ˜ ๋ฐœ์ƒ

function calcSum(n) {
      let sum = 0;
      for(let i = 1;i < n + 1; i++) {
        sum += i; //๋ˆ„์ ํ•ฉ ๊ตฌํ•จ
      }
	console.log(sum);
}

calcSum(10);

โœ๏ธ๋ณ€์ˆ˜ ์‚ฌ์šฉ๋ฒ•

  • ์ „์—ญ ๋ณ€์ˆ˜๋Š” ์ตœ์†Œํ•œ์œผ๋กœ ์‚ฌ์šฉ
  • var ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜ ์‹œ์ž‘ ๋ถ€๋ถ„์—์„œ ์„ ์–ธ(ํ˜ธ์ด์ŠคํŒ… ๋ฐฉ์ง€)
  • for๋ฌธ ์นด์šดํ„ฐ ๋ณ€์ˆ˜๋Š” ๋ธ”๋ก ๋ณ€์ˆ˜(let)๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค
  • ES6 ์‚ฌ์šฉํ•œ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๋ฉด var ๋ณด๋‹ค let์„ ์‚ฌ์šฉ

๐ŸŒฑ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜

โœ๏ธ๋งค๊ฐœ๋ณ€์ˆ˜(parameter)

  • ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ง€์ •ํ•˜๋Š” ๊ฐ’
  • ํ•จ์ˆ˜ ์„ ์–ธํ•  ๋•Œ ํ•จ์ˆ˜ ์ด๋ฆ„ ์˜† ๊ด„ํ˜ธ ์•ˆ, ๋งค๊ฐœ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ๋„ฃ์Œ

โœ๏ธ์ธ์ˆ˜(argument)

  • ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ง€์ •ํ•˜๋Š” ๊ฐ’
  • ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ๋งค๊ฒจ๋ณ€์ˆ˜๋กœ ๋„˜๊ฒจ์ฃผ๋Š” ๊ฐ’

โœ๏ธreturn

  • ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ๊ฐ’์„ ํ•จ์ˆ˜ ๋ฐ–์œผ๋กœ ๋„˜๊ธฐ๋Š” ๋ฌธ
  • ๋ฐ˜ํ™˜๋œ ๊ฐ’์€ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•œ ์†Œ์Šค ์œ„์น˜๋กœ ๋„˜๊ฒจ์ง„๋‹ค.
var num1 = parseInt(prompt("์ฒซ๋ฒˆ์งธ ์ˆซ์ž๋Š”?"));
var num2 = parseInt(prompt("๋‘๋ฒˆ์งธ ์ˆซ์ž๋Š”?"));
var result = addNumber(num1, num2);
alert("๋‘ ์ˆ˜๋ฅผ ๋”ํ•œ ๊ฐ’์€" + result + "์ž…๋‹ˆ๋‹ค.")

function addNumber(a, b) {
  var sum = a + b;
  return sum;
}
  1. num1, num2 ๋ณ€์ˆ˜์— ๊ฐ’์„ ์ €์žฅ
  2. num1, num2 ๊ฐ’์œผ๋กœ addNumber() ํ•จ์ˆ˜ ํ˜ธ์ถœ
  3. ํ•จ์ˆ˜ ์„ ์–ธ์œผ๋กœ ๋„˜์–ด์™€ ํ•จ์ˆ˜ ์‹คํ–‰, num1 = a, num2 = b ๋ณ€์ˆ˜๋กœ ๋„˜๊ฒจ์ง
  4. ๊ฒฐ๊ณผ๊ฐ’ sum ๋ฐ˜ํ™˜
  5. ๋ฐ˜ํ™˜๋œ ๊ฐ’์„ result์— ์ €์žฅ
  6. result ๋ณ€์ˆ˜๊ฐ’ ํ™”๋ฉด์— ํ‘œ์‹œ

๐ŸŒฑ ํ•จ์ˆ˜ ํ‘œํ˜„์‹

โœ๏ธ์ต๋ช… ํ•จ์ˆ˜

  • ์ด๋ฆ„์ด ์—†๋Š” ํ•จ์ˆ˜
  • ํ•จ์ˆ˜ ์ž์ฒด๊ฐ€ '์‹' ์ด๊ธฐ ๋•Œ๋ฌธ. ํ•จ์ˆ˜๋ฅผ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Œ.
var add = function(a, b) {
	return a + b;
}
var sum = add(10, 20);

ํ•จ์ˆ˜๋ฅผ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๋Š” ํ˜•ํƒœ

โœ๏ธ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜

  • ํ•จ์ˆ˜ ์ •์˜์™€ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š” ํ•จ์ˆ˜
  • ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜๋Š” ๋ณ€์ˆ˜์— ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๊ณ , ํ•จ์ˆ˜์—์„œ ๋ฐ˜ํ™˜๋˜๋Š” ๊ฐ’์„ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Œ
(function() {})();
(function() {}());

๐ŸŒฑ ์‹ค์Šต

โœ๏ธmin

function minvalue(a, b) {
      var min = 0;

      if(a < b) {
        min = a;
      }else {
        min = b;
      }
      return min;
}

var result = minvalue(10, 20);
document.write(result);

โœ๏ธmax

function maxvalue(a, b) {
      var max = 0;

      if(a > b) {
        max = a;
      }else {
        max = b;
      }
      return max;
}

var result = maxvalue(10, 20);
document.write(result);

โœ๏ธ๋น„๊ต

var num1 = parseInt(prompt("์ฒซ๋ฒˆ์งธ ์ˆซ์ž: "));
var num2 = parseInt(prompt("๋‘๋ฒˆ์งธ ์ˆซ์ž: "));

function compareNumber(num1, num2) {
	if(num1 == num2) {
		alert(num1 + "๊ณผ " + num2 + "๋Š” ๊ฐ™๋‹ค");
	}else if(num1 > num2) {
		alert(num1 + "์ด " + num2 + "๋ณด๋‹ค ํฌ๋‹ค");
	}else {
		alert(num1 + "์ด " + num2 + "๋ณด๋‹ค ์ž‘๋‹ค");
	}
}

compareNumber(num1, num2);

prompt๋กœ ์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์— ๋”ฐ๋ผ ํ•จ์ˆ˜ ์‹คํ–‰ ๊ฒฐ๊ณผ๊ฐ’์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

โœ๏ธํ™€์ˆ˜ ์ง์ˆ˜

var su = parseInt(prompt("ํŒ๋ณ„ํ•  ์ˆ˜"));

function evenodd(num){
	if(num % 2 == 0) {
		alert(num + "์€ ์ง์ˆ˜์ž…๋‹ˆ๋‹ค");
	}else {
		alert(num + "์€ ํ™€์ˆ˜์ž…๋‹ˆ๋‹ค");
	}
}

evenodd(su);

โœ๏ธ๊ตฌ๊ตฌ๋‹จ

var dan = parseInt(prompt("๋‹จ์„ ์ž…๋ ฅํ•˜์„ธ์š”"));

function displaygugu(todan) {
	for(let i = 1; i <=9; i++) {
		document.write(todan + "*" + i + "=" + todan*i + "<br>");
	}
}
displaygugu(dan);

prompt์—์„œ ์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์— ๋”ฐ๋ฅธ ๊ณฑํ•˜๊ธฐ ์—ฐ์‚ฐ์ด ์ถœ๋ ฅ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

var dan = parseInt(prompt("๋‹จ์„ ์ž…๋ ฅํ•˜์„ธ์š”"));

function displaygugu(todan) {
	for(let i = 1; i < todan + 1; i++) {
		for(let j = 1; j < 10; j++){
			document.write(i + "*" + j + "=" + i * j + "<br>");
		}
	}
}
displaygugu(dan);

prompt ์— ์ž…๋ ฅ๋œ ๊ฐ’๊นŒ์ง€ ๊ตฌ๊ตฌ๋‹จ์ด ์ถœ๋ ฅ๋œ ๊ฒƒ ํ™•์ธ

๐Ÿƒ ์–ด๋ ค์› ๋˜ ์  or ํ•ด๊ฒฐ๋ชปํ•œ ๊ฒƒ

์ƒˆ๋กœ์šด ๊ฐœ๋…์ด ๋‚ฏ์„ค์—ˆ๋‹ค.

๐Ÿ€ ํ•ด๊ฒฐ๋ฐฉ๋ฒ• ์ž‘์„ฑ

โœ๏ธ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐ์„ ํ–ˆ๋Š”๊ฐ€?
โœ๏ธ ์ด๋ ‡๊ฒŒ ์ดํ•ด๋ฅผ ํ–ˆ๋‹ค
โœ๏ธ ์–ด๋””๊นŒ์ง€ ์ดํ•ดํ–ˆ์ง€?
โœ๏ธ ๋‹ค์Œ์— ์‹œ๋„ํ•ด๋ณผ ๋ฐฉ๋ฒ•
์ƒˆ๋กœ์šด ๊ฐœ๋…์„ ์ถ”๊ฐ€๋กœ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค.
for ๋ฌธ์œผ๋กœ ๋ณ„์ฐ๊ธฐ ์—ฐ์Šตํ•ด๋ณด๊ธฐ

๐ŸŒท ํ•™์Šต ์†Œ๊ฐ

์„ค๋ช… ์ •๋ฆฌ๊ฐ€ ์ž˜ ๋˜์–ด ์ˆ˜์—…์ด ์žฌ๋ฐŒ์—ˆ๊ณ  ์‹ค์Šต์œผ๋กœ ํ™•์ธํ•ด๋ณผ ์ˆ˜ ์žˆ์–ด ์ง๊ด€์ ์ด์—ˆ๋‹ค.

profile
Life is experience:)

0๊ฐœ์˜ ๋Œ“๊ธ€