JavaScriptには、固定パラメーターリストの概念がありません。独自の関数の場合、いつでも必要な数のパラメーターを指定し、必要なタイプを指定して渡すことができます。
ネイティブコードに相関する組み込み関数の場合は、に依存します。
あなたはそれが何に依存するかについて尋ねました:
組み込み(ホストと混同しないでください)関数全般に関するセクション15
特定の関数の説明で特に指定されていない限り、この句で説明されている関数またはコンストラクターに必要な引数が指定されている数よりも少ない場合、関数またはコンストラクターは、十分な追加の引数が指定されているかのように正確に動作します。そのような引数は未定義の値です。
大丈夫。必要な数より少ない引数を渡す場合は、関数自体の仕様によって異なります(セクション15を下にスクロールして、各組み込み関数の仕様を見つけてください)。
特定の関数の説明で特に指定されていない限り、この句で説明されている関数またはコンストラクターに、関数が許可するように指定されているよりも多くの引数が指定されている場合、余分な引数は呼び出しによって評価され、関数によって無視されます。ただし、実装は、動作が単に追加の引数の存在を前提とするTypeError例外のスローでない限り、そのような引数に関連する実装固有の動作を定義できます。
あまりにも多くの引数を渡すと、TypeErrorが発生することはありません。しかし、それでも他のエラーが発生する可能性があります。繰り返しますが、それはあなたが話している機能に依存します。
組み込み関数ではなく、DOMについて明示的に話していました。正直なところ、仕様の対応する部分が見つかりません。ECMA仕様は、w3Webサイトよりもはるかに読みやすくなっています。