J's Rhapsody

[Javascript]Function Expressions 본문

IT/JAVASCRIPT

[Javascript]Function Expressions

J's Rhapsody 2018. 1. 11. 12:38

Function Expressions


◆ 함수선언문(function declaration)


Building functions within code execution rather than at program load time

1
2
3
function diffOfSquares(a, b){
    return a*- b*b;
}
cs


▶ Building in memory immediately when the program loads


위와 같이 정의된 함수는 스크립트가 로딩되는 시점에 바로 초기화를 하고 이를 Variable object에 저장한다.

그렇기 때문에 함수 선언의 위치와는 상관없이 소스 내 어느 곳에서든지 호출이 가능하다.



◆ 함수표현식(function expression)


1
2
3
var diff = function diffOfSquares(a, b){
    return a*- b*b;
};
cs

▶ Needs a semicolon to complete the assignment statement in a file.
▶ Now the function builds ONLY when this line of code is reached.

함수 표현식은 함수 선언문과 다르게 스크립트 로딩시점에 함수를 저장하지 않고, runtime 시에 해석되고
실행된다.

1
diff(95);
cs

return 56


변수 이름인 diff를 사용한다. (함수 안에 diffOfSquares를 사용하지 않는다.)

Notice the variable name needs parentheses('()'), parameters('9','5') and a semicolon(';') to excute the function it contains.


함수를 실행하기 위해서 변수 이름은 괄호와 인자(파라미터) 그리고 세미콜론이 필요하다.



◆ 익명함수(Anonymous function)


No need for naming the function a second time


1
2
3
var diff = function (a, b){
    return a*- b*b;
};
cs


Comments