본문 바로가기
개인공부/JavaScript

함수(Function)

by 왕큰새 2020. 7. 14.
728x90

개념은 수학시간에 배웠던 함수와 비슷하다.

 

y = f(x)

x 에 어떤 값을 넣으면 y가 f(x)에 사용하는 식에 의해 자동으로 나왔었다. 자바스크립트에서 함수는 

다음과 같이 만든(선언)다.

 

function add(x,y) {

   return x + y;

}

function add(x,y) {   
	return x + y;}

또는 다음과 같이도 만들 수 있다. 아래처럼 변수를 선언하고 함수를 대입하는 방식을 함수 표현식이라고 부른다.

위의 방식은 함수 선언이라고 한다. 위의 방식으로 만들때에는 끝에 ; 를 붙이지 않는다.

var add = function(x,y) {

var add = function(x,y) {
	return x + y;
   };
   

 add가 함수의 이름(변수의 이름)이고, x, y가 사용자가 넣고 싶은 것을 넣는 곳이다. x,y를 매개변수

하고 , 영어로는 Parameter라 한다. return은 x+y 값을 바깥으로 내보내고 함수를 종료하라는 것이다.

 

미리 만들어둔 함수를 실행하는 행위를 호출한다 라고 표현한다. 

아래에서는 변수 i 에 add함수의 반환 값을 저장한다.

 

var i = add(1,2);
i; // 3

 

   여기서 1,2 는 매개변수라고 부르지 않고 인자(Argument)라고 부른다. 함수를 선언할 때의 괄호안의 값은

   매개변수(Parameter) , 함수를 호출할 때의 괄호안의 값은 인자(Argument)이다.

var n = function(object) {
  return object.a + object.b + object.c + object.d;
};
n({ a: 1, b: 2, c: 3, d: 4 }); // 10

 

 

 

매개변수가 너무 많으면 객체를 주로 사용한다.

 

함수 중에는 return을 하지 않는 함수도 있다.

var dateChecker = function() {
  var date = new Date();
  alert(date);
};
dateChecker(); // undefined

 

위와 같이 return이 없는 함수는 자동으로 undefined를 반환 !

알람이 뜨는 것은 return 때문이 아닌 alert(date)의 결과로써 뜨는 것 ! 

모든 함수는 return을 입력하지 않으면 자동으로 return undefined가 마지막 코드로써 작동한다.

 

 

var a = {
  b: function() {
    return;
  }
};

위의 경우 속성 b의 값은 함수이다. a.b();와 같이 하면 함수를 호출 할 수 있다.

속성의 값으로 사용되는 함수를 메소드라고 부른다.

var mother = function(func) {
  func();
};
var children = function() {
  alert('안녕하세요');
};
mother(children); // '안녕하세요'

mother 함수를 호출할 때, children 함수를 넣었다. 

이렇게 값으로 사용되는 함수를 프로그래밍에서는 1급 함수라고 부른다고 한다.