特集PC技術

コア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

サイト内検索

コアJavaScript(ECMAScript)の図書室

twitterTwitter

最新ブログ記事

2015年06月13日

JavaScriptの情報室

4冊目 ハイブリッドアプリが作れる。tabris.js

2014年10月16日

C++言語学習録

第3回 ファイルを分割してみよう

2014年10月09日

C++言語学習録

第2回 オブジェクト指向の復習

2014年10月02日

C++言語学習録

第1回 C++の開発環境を整える

2014年09月25日

Swiftを試してみようなう。

第4回 Swiftでクラスを使うなう。

ISL 情報戦略研究所

pagetopこのページの先頭へ戻る