Front-end/JavaScript

[자바스크립트] 익명함수, 일반함수, 객체방식함수, 익명함수의 확장

파리외 개발자 2022. 5. 5. 23:45

익명함수 - function()

출력버튼을 누르면 문자열이 쌓이는 함수를 정의한다.

html문서가 열리면 함수가 실행되도록 했다.

$container변수에는 container아이디를 가진 div태그를 지정한다.

그리고 btnPrint아이디를 가진 버튼태그를 클릭할 시 함수가 실행되도록 했다.

버튼 클릭 시마다 container태그가 저장된 변수에 문자열을 append로 추가해준다.

#btnPrint태그가 저장된 버튼을 click할 때마다 append가 실행되도록 하는 변수다.

이렇게 함수 이름이 없이 function으로만 정의되는 함수를 익명함수라 한다.

 

일반함수 - 함수이름()

일반함수는 익명함수와 다르게 함수 이름을 지정해준다.

위의 익명함수와 비슷하게 내용을 정의해준다.

정의된 hi일반함수를 버튼클릭 시 마다 실행되는 익명함수안에 호출했다.

버튼을 누를때마다 익명함수와 일반함수가 같이 호출된다.

 

객체방식으로 함수 정의 new Function()

자바에서 객체를 생성하는 것과 유사하게 함수를 정의한다.

거의 사용되지 않으니 이렇게도 함수를 정의할 수 있다고만 알아둔다.

함수가 정의된 hi에 인자로 전달받은 '객체함수'가 name변수에 저장되 출력된다.

 

익명함수의 확장으로 함수 정의

앞서 익명함수처럼 ready(function)이나 click(function)처럼 이벤트에 붙어서 나오는 것이 아닌

혼자 존재하는 익명함수다.

다시 호출하지 못하므로 재사용을 할 수 없다.

다른 함수와의 충돌을 막기위해 사용된다.