ホームページ > 記事 > ウェブフロントエンド > JavaScript で引数を使用して、関数によって渡されるパラメーターの数を取得する_javascript スキル
JavaScript で引数を使用して、関数によって渡されるパラメーターの数を取得する_javascript スキル と PHP は、関数パラメータの受け渡しの点で若干異なります。PHP の仮パラメータは実際のパラメータの数と一致する必要がありますが、JavaScript で引数を使用して、関数によって渡されるパラメーターの数を取得する_javascript スキル はより柔軟であり、実際のパラメータを渡してもエラーは報告されません。パラメータは、仮パラメータよりも少ないか、またはそれ以上です。
仮パラメータより実際のパラメータが多い場合、エラーは報告されません
function say(a){ alert(a); } say('JavaScript で引数を使用して、関数によって渡されるパラメーターの数を取得する_javascript スキル','WEB技术博客');
実行結果
実パラメータよりも仮パラメータを多くした結果を見てみましょう
function say(a,b){ alert('a 的值是 '+a+'\nb 的值是 '+b); } say('JavaScript で引数を使用して、関数によって渡されるパラメーターの数を取得する_javascript スキル');
実行結果
a は最初の実パラメータ「Qiongtai Blog」に対応し、b には対応する実パラメータがないため、値は未定義です
引数オブジェクト
実際、プログラム設計がより複雑な場合には、パラメーターの数を指定せずに、それらを柔軟に使用することがあります。関数には実際のパラメータ グループを格納するために特別に使用される配列引数があり、引数を通じて実際のパラメータの数と値を知ることができます。
function arg(){ var str = '总共传了'+arguments.length+'个参数 '; for(var i=0;i<arguments.length;i++){ str += '第'+(i+1)+'个参数值:'+arguments[i]+'\n'; } alert(str); } arg('JavaScript で引数を使用して、関数によって渡されるパラメーターの数を取得する_javascript スキル','PHP博客','WEB技术博客');
実行結果
上記の例では、関数 arg を定義し、その関数に仮パラメータを指定しませんでしたが、代わりに、実際のパラメータを受け取るために引数オブジェクトを使用しました。これは非常に柔軟です。
たとえば、セットに含まれる数値の数に関係なく、数値セット内の最小の数値を計算するためにこれを使用できます。次のコードのような:
function arg(){ var tmp = 0, str = '在 '; for(var i=0;i<arguments.length;i++){ for(var g=0;g<arguments.length;g++){ if(arguments[g]<arguments[i]){ tmp = arguments[g]; } } str += arguments[i]+','; } alert(str.substr(0,str.length-1)+' 里最小的值是 '+tmp); } arg(200,100,59,3500);
4つの数値200、100、59、3500の比較結果を実行します
5 と 60 という 2 つの数字を追加します
function arg(){ var tmp = 0, str = '在 '; for(var i=0;i<arguments.length;i++){ for(var g=0;g<arguments.length;g++){ if(arguments[g]<arguments[i]){ tmp = arguments[g]; } } str += arguments[i]+','; } alert(str.substr(0,str.length-1)+' 里最小的值是 '+tmp); } arg(200,100,59,3500,5,60);
6 つの数値の比較結果を実行します: 200、100、59、3500、5、60
2 つの操作の結果に基づいて、渡した数値に関係なく、結果を正しく比較できることがわかりました。引数は通常、実際のパラメータの数が可変である場合に使用されます。たとえば、上の例では、比較のために 5 つの数値を渡すことも、比較のために 100 の数値を渡すこともできます。