私はシンプルtest codeを持っている:複数の引数として機能するように配列を送るには? JavaScriptで
未定義a
と
b
ままに割り当てられ
x()
一つとして引数、関数の引数
c
送る
function x(a, b) {
alert(a);
alert(b);
}
var c = [1,2];
x(c);
: - 私は複数として配列を送信することができますどのように/
を1つの配列としてではなく、関数への引数?
私はシンプルtest codeを持っている:複数の引数として機能するように配列を送るには? JavaScriptで
未定義a
と
b
ままに割り当てられ
x()
一つとして引数、関数の引数
c
送る
function x(a, b) {
alert(a);
alert(b);
}
var c = [1,2];
x(c);
: - 私は複数として配列を送信することができますどのように/
を1つの配列としてではなく、関数への引数?
apply
を確認してください。あなたのケースでは
(あなたが関数内でthis
を使用していないので)、あなたは、単に "本" を引数としてwindow
(またはthis
)を渡すことができます。
x.apply(this, [1, 2]);
例:http://jsfiddle.net/MXNbK/2/
"this"引数としてnull
を渡すことについての質問は、 "this"引数のリンク記事のMDNのコメントを参照してください:
この方法によって見られる実際の値ではないかもしれないことに注意してください となります。
ありがとう!それはまさに私が探していたものです。 –
'this'はそのような関数(ality)に何も関係しないので、最初の引数として' null'を渡す方が良いでしょうか? –
あなたはそうかもしれませんが、私は 'this'はまだ関数の中の' window'だと信じています。 –
あるいは、ECMAScriptの2015とのブラウザで(またはバベルのtranspilerで)、新しいスプレッド演算子を使用することができます:なぜあなたはドン場合は最初の場所でのアレイでそれらをラップしている
x(...[1, 2])
これは質問に対する答えを提供しません。批評をしたり、著者の説明を求めるには、投稿の下にコメントを残してください。 - [レビューから](レビュー/低品質の投稿/ 10184249) – andlrc
@ dev-nullこれは質問に対する有効な回答です。ES6では、[spread operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator)はFunction.applyと非常によく似ています。 –
」を配列が必要ですか?ちょうど 'x(1,2)'を実行してください – TheZ
@TheZこれはちょうど例であると確信しています –
@JuanMendesさて、おそらく 'x(c [0]、c [1])'?私はちょうど必要なものを理解していないと思う。 – TheZ