function 문이 새로운 함수를 정의하는 유일한 방법은 아니며, 연산자를 사용하는 Function() 생성자를 사용하여 함수를 동적으로 정의할 수 있습니다.
참고: 이는 객체 지향 프로그래밍을 가리키는 용어입니다. 처음에는 조금 익숙하지 않다고 느낄 수도 있지만 여기서는 아무런 문제가 없습니다.
문법
Function()을 사용하여 생성자를 생성하기 위해 new 연산자를 사용하는 구문은 다음과 같습니다.
<script type="text/javascript"> <!-- var variablename = new Function(Arg1, Arg2..., "Function Body"); //--> </script>
Function() 함수 생성자는 문자열 매개변수를 원하는 수만큼 기대합니다. 마지막 매개변수는 함수 본문입니다. 여기에는 세미콜론으로 서로 구분된 임의의 JavaScript 문이 포함될 수 있습니다.
Function() 구성은 매개 변수를 전달하지 않으므로 해당 함수를 만들려면 이름을 지정하세요. Function() 생성자를 사용하여 생성된 이름 없는 함수를 익명 함수라고 합니다.
예:
다음은 함수 생성 예시입니다.
<script type="text/javascript"> <!-- var func = new Function("x", "y", "return x*y;"); //--> </script>
이 코드 줄은 정의된 함수의 구문과 거의 동일한 새 함수를 생성합니다.
<script type="text/javascript"> <!-- function f(x, y){ return x*y; } //--> </script>
즉, 위 함수를 다음과 같이 호출할 수 있습니다.
<script type="text/javascript"> <!-- func(10,20); // This will produce 200 //--> </script>