2012-03-17 13 views
0

JavaScriptでは、argumentsキーワードを使用して関数に渡された引数にアクセスできるはずです。これは "tony"と "magoo"を警告するはずですが、代わりに "undefined"を警告します - なぜですか?Javascriptの動的引数

function myFunction(){ 
    for(var i=0; i<arguments.length; i++){ 
     alert(arguments[i].value); 
    } 
} 

myFunction("tony", "Magoo"); 
+1

厳密に言えば、キーワードではありません。それは基本的に単なる変数です。 – pimvdb

答えて

6

.valueせず、arguments[i]を使用してください。

オブジェクトは配列のようなオブジェクトです。すべての引数は数値インデックスでアクセスできます。

+0

すばらしい答え。言語のこの特性の特別な名前はありますか? – dublintech

+0

@dublintech特別な名前はありません。これは単なる変数であり、すべての関数インスタンスで定義されています。さらに詳細を探しているなら、これは議論のための[仕様書](http://es5.github.com/#x10.6)です。 –