The list of parameters in the function declaration. This defines the calling interface to the function.
As the formal parameter list is parsed, each item is represented by a property added to the variable object belonging to the owner of the evaluation. The attributes of the property being added depend on the type of code being evaluated. The values to be stored in each parameter's property attribute are determined by the caller.
If fewer values are provided than there are formal parameters, the remaining parameters will have the value undefined assigned to their properties in the variable object.
If more than one formal parameter shares the same name, then earlier values are overwritten by later ones in order of appearance in the Script Source Text. If an overwrite like this occurs and there are insufficient values passed by the caller, a previously defined value could be replaced by the undefined value.