개념은 수학시간에 배웠던 함수와 비슷하다.
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급 함수라고 부른다고 한다.
'개인공부 > JavaScript' 카테고리의 다른 글
ES6 에서의 추가된 Javscript 데이터 타입 및 기본 데이터 타입 (0) | 2020.07.27 |
---|---|
Core JavaScript (0) | 2020.07.27 |
연산자(operator) (0) | 2020.07.14 |
자바스크립트의 객체(Object),배열(Array) (0) | 2020.07.14 |
JavaScript 개요 및 변수 (0) | 2020.07.14 |