- トップページ
- 特集PC技術
- コアJavaScript(ECMAScript)の図書室
- 28冊目 【JavaScript】[ECMAScript] argumentsオブジェクト
コアJavaScript(ECMAScript)の図書室
28冊目 【JavaScript】[ECMAScript] argumentsオブジェクト
JavaScriptの引数にはちょっとした秘密があります。
引数の数が指定した数と合わなくてもエラーにならず、プログラムが実行されます。
これは、引数にはargumentsオブジェクトというものに値がわたっているからなのです。
目次
[1] argumentsオブジェクトとは
関数の引数はargumentsオブジェクトにデータが格納されています。
argumentsオブジェクトは関数内部でのみ使用できる特殊なオブジェクトです。
function output(){ var i = 0; document.writeln("受け取った引数の数="+arguments.length); for(i = 0; i < arguments.length; i++){ document.writeln(arguments[i]); } } output(10,20,30,40);
「arguments.length」の値を参照すると渡された引数の数が取得できます。
正確にはargumentsオブジェクトの要素数が取得できます。
引数として定義した値は左からargumentsオブジェクトに格納されます。
[2] 再帰関数専用の機能
JavaScriptでは、再帰関数の方法に、argumentsオブジェクトのcalleeというものがあります。
calleeという機能があるので無名関数において再帰関数を実行することが可能になります。
function num_factorial(num){ if(num != 0) { return num * arguments.callee(num-1) } return 1; } document.writeln(num_factorial(4));
[3] 更新履歴
日付 | 詳細 |
---|---|
2011/08/16 | コンテンツ公開 |
コメントの投稿
トラックバックURL
http://www.isl.ne.jp/cgi-bin/mt/mt-tb.cgi/1695