私は1つの機能を持っていますが、それを一度呼びますが、ブラウザで実行すると2回実行されるようです。適用コールに関連する問題
function max() {
\t console.log(arguments[0]);
\t return this.max.apply(Math, Array.from(arguments[0]));
}
console.log(max([1,32,42,1]));
/*
This is output of console:
------------------------
[1, 32, 42, 1]
1
-Infinity
*/
私は、配列の最大値を取得したい、と私はすでにそれがnow.Iただ不思議取得する方法を知っている理由は、この関数は、この関数は得ることができない理由を二回実行し、のように思えます適切な結果。
'this'は' window'を参照し、 'global-functions'は' window-object'の 'properties'です。 '関数#apply'は' this'引数が 'called'関数の' this'コンテキストとして渡された関数を呼び出します – Rayon
普通のパラメータだけではなく 'arguments [0]'を使用する特別な理由はありますか? –