3
function Add(a, b) {      }

次のようなJavaScript関数を呼び出す場合- onclick="Add(1)"

function に 1 つのパラメーターのみ、または 2 つ以上のパラメーター (上記の例の場合) を渡しても、エラーが発生しないのはなぜですか? Javaスクリプトは上記のシナリオをどのように扱いますか?

4

2 に答える 2

4

Javascript は、動的で弱い型付けの言語です。その結果、メソッド シグネチャは厳密には適用されません。

Add関数オブジェクトです。これには、渡すパラメーターを含む配列のようなオブジェクトであるというプロパティがあります。便宜上、 andargumentsというローカル変数も作成し、最初と 2 番目の要素をそれらに割り当てます。入力パラメーターが 1 つしかない場合は、未定義になります。abargumentsb

したがって、Javascriptは扱います

 Add(1)

 Add(1, undefined)

ほぼ同じです。ここでの違いは、arguments変数の長さが 1 ではなく 2 になることです。ただし、純粋に実用的な観点からは、それらはまったく同じです。

于 2012-06-28T19:09:16.797 に答える