この記事では、Javascript の引数オブジェクトの説明例を紹介します。一定の参考値があり、困っている友人は参考にしてください。お役に立てば幸いです。
今日は、引数オブジェクトとプロパティを見てみましょう。引数オブジェクトは明示的に作成できません。引数オブジェクトは関数の先頭でのみ使用できます。関数の arguments オブジェクトは配列ではないため、個々のパラメーターへのアクセスは配列要素へのアクセスと同じです。インデックス n は、実際には、arguments オブジェクトの 0…n プロパティのパラメータの 1 つです。
1 function add(a,b){ 2 console.log(typeof arguments); 3 for(var attr in arguments){ 4 console.log(attr+":"+arguments[attr]); 5 } 6 return a+b; 7 } 8 9 add(10,20)
出力結果から、引数は実際には配列ではなくオブジェクトであり、この配列には 2 つの属性があり、属性名は 0 と 1 であることがわかります。値はそれぞれ 10 と 20です。
JavaScript では、パラメータ リストは仮パラメータと実パラメータに分かれています。仮パラメータは関数を定義するときに指定するパラメータであり、実パラメータは関数を呼び出すときに指定するパラメータです。たとえば、上記の例では、
alert(add(10))
を通じて関数を呼び出すことができます。ここで指定されているパラメータは 1 つだけです。つまり、実パラメータの数は 1 で、仮パラメータの数は 2 です。 JavaScript では、実パラメータの数が仮パラメータの数と同じである必要はありません。上記のコードも実行可能です。 NaN
を出力するだけです。実際には、まずパラメータの数を決定します
1 function add(a,b){ 2 3 //add.length也可以获取形参个数,但实际中用arguments.callee.length 4 if(arguments.length==arguments.callee.length){ 5 return a+b; 6 }else{ 7 return "参数错误"; 8 } 9 10 }
arguments.length: 実際のパラメータの数を取得します
arguments .callee .length: 仮パラメータの数を取得します
arguments.callee: 関数自体を参照します
引数は再帰操作でよく使用されます
例、1 から n までの数値を検索すると、
1 function fn(n){ 2 3 if(n==1){ 4 return 1; 5 }else{ 6 return n+arguments.callee(n-1); 7 } 8 } 9 10 alert(fn(100))
の結果は 5050
以上がJavascriptの引数オブジェクトの説明例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。