2

配列内のJavaScriptですべての関数引数を取得するにはどうすればよいですか?

function(a, b, c){

 // here how can I get an array of all the arguments passed to this function
 // like [value of a, value of b, value of c]
}
4

4 に答える 4

11

配列オブジェクトが必要です。arguments

function x(a, b, c){
    console.log(arguments); // [1,2,3]
}

x(1,2,3);

更新arguments実際には配列ではなく、「配列のようなオブジェクト」です。真の配列を作成するには、次のようにします。

var args = Array.prototype.slice.call(arguments);
于 2012-06-19T17:40:45.190 に答える
9

オブジェクトを使用しargumentsます(他の回答に記載されて いる配列ではありません。他にもいくつかの興味深いプロパティがあります。こちらを参照してください)。関数自体を定義すると、関数のスコープ内に自動的に作成されます。

functon bar(arg1,arg2,arg3,...)
{
     console.log(arguments[2]); // gets "arg2"'s value
}

関数オブジェクトのプロパティとして別の形式があります。

function foo(a,b,c,d) {
}

var args = foo.arguments;

ただし、サポートされていますが、非推奨になっています。

于 2012-06-19T17:47:41.537 に答える
5

引数を使用:

for (var i = 0; i < arguments.length; i++) {
  // arguments[i]
}
于 2012-06-19T17:40:32.443 に答える
5

引数オブジェクトにアクセスします。

function(a, b, c){
    console.log(arguments);
    console.log(arguments[0]);
    console.log(arguments[1]);
    console.log(arguments[2]);
}
于 2012-06-19T17:40:23.520 に答える