2011-03-16 31 views
1

私はarguments関数の変数を別の関数にの別の引数として渡そうとしています。私はこれを試してみました:別の引数として 'arguments'を持つ関数を呼び出す

function call_function(func) { 
    func(arguments); 
} 

しかし、call_function(someFunction, 123, 456)が実際にsomeFunction([someFunction, 123, 456])を呼び出します。渡される関数自体にかかわらず、それはArgumentsオブジェクト/配列のようなものとして渡されますが、私はむしろsomeFunction(123, 456)としてこの場合の関数を呼び出したいと思います。私はまた試したことは:func(Array.prototype.slice.call(arguments, 1))関数を削除することです(最初の引数)が、実際には配列を返します。つまり、配列を関数の最初の引数として渡します。

call_functionのコードをcall_function(someFunction, 123, 456)というようにコーディングすると、someFunction(123, 456)と呼ばれることがありますか?

+1

あなたが解決しようとしている元の問題は何ですか?なぜあなたはこのように関数を呼び出す必要がありますか? – Andrey

+0

@Andrey:実際はもっと理論的だった。 – pimvdb

+1

私はTJHeuvelの答えがまさにあなたが探しているものだと思っています – Andrey

答えて

関連する問題