function functionNmae(parameter1, parameter2, parameter3) {
// code to be executed
}
\\
함수 **매개변수(parameters)**는 함수 정의에 나열된 **이름(manes)**입니다.\\
\\
함수 **인수(arguments)**는 함수에 전달되고, 함수가 받는 실제 **값(values)**입니다.\\
=====Parameter Rules=====
%%JavaScript%% 함수 정의는 매개변수에 대한 데이터 유형을 지정하지 않습니다.\\
\\
%%JavaScript%% 함수는 전달된 인수에 대해 유형 검사를 수행하지 않습니다.\\
\\
%%JavaScript%% 함수는 수신된 인수의 수를 확인하지 않습니다.\\
=====Default Parameters=====
**__누락된 인수__missing argument**(선언된 것보다 작음)를 사용하여 함수를 호출하면, 누락된 값이 ''undefined''로 설정됩니다.\\
\\
때로는 이것이 허용되지만, 때로는 매개변수에 기본 값을 지정하는 것이 더 좋습니다.\\
\\
Setting a default value to a function parameter.
\\
ECMAScript 2015는 함수 선언에서 기본 매개변수 값을 허용합니다:\\
Setting a default value to a function parameter (y=2).
=====The Arguments Object=====
%%JavaScript%% 함수에는 arguments 오브젝트라는 내장 오브젝트가 있습니다.\\
\\
인수 오브젝트에는 함수가 호출(적용) 될 때 사용된 인수의 배열이 포함됩니다.\\
\\
이렇게 하면 예를 들어 함수를 사용하여 숫자 목록에서 가장 높은 값을 찾을 수 있습니다.\\
\\
Finding the largest number.
\\
또는 모든 입력 값(input values)을 합산하는 함수를 만듭니다.\\
Sum of all arguments:
\\
함수가 너무 많은 인수 (선언된 것보다 많음)로 호출되면, 이러한 인수는 **the arguments object**를 사용하여 도달할 수 있습니다.\\
=====Arguments are Passed by Value=====
함수 호출에서, 매개변수는 함수의 인수입니다.\\
\\
%%JavaScript%% 인수는 **값(value)**으로 전달됩니다: 함수는 인수의 위치가 아닌 값만 알 수 있습니다.\\
\\
함수가 인수의 값을 변경하더라도, 매개변수의 원래 값은 변경하지 않습니다.\\
\\
**인수에 대한 변경 사항은 함수 외부에서 표시 (반영)되지 않습니다.**
=====Objects are Passed by Reference=====
%%JavaScript%%에서, 오브젝트 참조는 값입니다.\\
\\
이 때문에, 오브젝트는 참조로 전달되는 것처럼 동작합니다.\\
\\
함수가 오브젝트 속성을 변경하면, FIXME원래 값이 변경됩니다.\\
\\
**오브젝트 속성에 대한 변경 사항은 함수 외부에서 볼 수 있습니다 (반영).**\\
{{tag>오션, Javascript Function Parameters}}