2011. 8. 10. 22:02


1번은 일반적인 함수의 작성 형태 이고...


2번은 함수 리터럴로 작성된 형태...

어느쪽이 되었건 3번 코드로 출력되는 내용은 9로 동일하다.

...
함수 정의 대신 함수 리터럴을 사용할 만한 이유...
즉, 함수 정의와 함수 리터럴의 차이점...

함수 리터럴은 자바스크립트의 표현식 내에 나타날 수 있다.

표현식 내에... 음??

일단 다음의 코드를 보도록 하자


단 3줄짜리 초간단 코드이다.

1 : 리터럴 형태로 선언된 함수 square
2 : 이 square 에 스스로에 3을 넣어 수행된 결과값 + 1을 대입하고 있다.
3 : 그리고 square 를 출력!!

결과는...

당연히 10 이다.
3 * 3 + 1 = 10

만약 2 라인이 없을 경우... 무엇일 출력 될까...?

바로 1째 줄의 var square = 뒷부분의 내용들... function(x){return x*x;} 이 출력이 된다



Posted by 해비