シーンは:それは、値の配列である場合()配列から最大値を返す方法、数字の所与のセットの最大値を返しますか?Math.max
対策:1.使用Math.max.apply(null, numArray);numArray
为任意长度的数组
2.最新の文の構文の拡張機能の使用を拡大 Math.max(...arr);
拡張拡張アプリケーション:違いをバインドし、適用し、呼び出しますか?
call
apply
ほぼ同じの使用、唯一異なるパラメータ差が渡され、call
唯一の1つのパラメータがパラメータに渡されました。 apply
それだけは、引数の形式は配列でなければなりません場合でも、配列を渡しサポートしています。配列は、個々のパラメータに分割されます、最終的なコール機能が渡されます。
bind
この方法では、彼は、変更の直接の関数であるthis
点と、時にもう一度この関数を呼び出した後、新しい関数を返すthis
すべてのポイントbind
最初のパラメータはバインディング。bind传参
道call
と同じ方法。
{} OBJ = CONST 機能試験(...引数){にconsole.log(引数)} CONST = newFnのtest.bind(OBJ、 '静的パラメータ1'、 '静的パラメータ2') newFn( '動的パラメータ、3'、 「動的パラメータ4」)
要約:
- 我々は変更する機能を使用するとき
this
に使用される時点をcall
`適用`bind
- あなたはいくつかのパラメータを渡したい場合は、使用することができます
fn.call(thisObj, arg1, arg2 ...)
- あなたは多くのパラメータを渡したい場合は、パラメータ照合コールの配列を使用することができます
fn.apply(thisObj, [arg1, arg2 ...])
- あなたがオブジェクトに長期使用の機能をバインドするための新しい関数を生成したい場合は、使用することができます
const newFn = fn.bind(thisObj); newFn(arg1, arg2...)