Dieses Mal werde ich Ihnen die Verwendung und den Unterschied zwischen apply und Math.max() vorstellen. Was sind die Vorsichtsmaßnahmen über die Verwendung und den Unterschied zwischen apply und Math.max() . Lasst uns einmal einen Blick darauf werfen.
var arr=[1,3,6,3,7,9,2]; console.log(Math.max.apply(null,arr));
Ich verstehe immer noch nicht, warum damit der Maximalwert eines Arrays berechnet werden kann? Ich kann es immer noch nicht herausfinden. Bitte geben Sie einen Rat von einem JS-Experten.
Antwort 1
Function.apply() ist eine OOP-Funktion von JS, die im Allgemeinen zur Simulation von Vererbung und verwendet wird Um diesen Zweck zu erweitern, kann der obige Code wie folgt verstanden werden:
XXX.apply ist eine Methode zum Aufrufen einer Funktion, und ihre Parameter sind: apply(Function, Args),
Funktion ist die aufzurufende Methode, Args ist die Parameterliste. Wenn Funktion null ist, ist der Standardwert wie oben,
, d. h.
Math.max.apply(null, arr)
kann als
apply(Math.max, arr)
betrachtet werden. Dann arr ist eine Parameterliste. Für die Max-Methode sind ihre Parameter mehrere Zahlen, d. h.
Math.max(a, b, c, d, ...)
. Bei Verwendung von apply werden alle Parameter zu einem Array hinzugefügt, d Die ursprüngliche Formel
arr = [a, b, c, d, ...]
entspricht tatsächlich
Math.max.apply(null, [a, b, c, d, ...])
. Hier besteht der Vorteil der Verwendung von apply darin, die Leistung in einigen JS-Engines zu verbessern.
Antwort 2
Methode unterstützt die Übergabe mehrerer Parameter, wie zum Beispiel:Math.max()
Math.max(1,4,2,3,7,5,6)
Aber direkt Die Übergabe eines Arrays als Parameter wird nicht unterstützt, z. B.:
Math.max(new Array(1,4,2,3,7,5,6))
Solange wir eine Möglichkeit haben, das Array einzeln aufzuteilen und an die Math.max()-Methode zu übergeben, ist die Methode zur Übergabe des Arrays implementiert.
Alle Funktionen verfügen über die Apply-Methode (Bereichskette, Parameter). Der „Parameter“ dieser Funktion empfängt ein Array, trennt jeden Wert im Array und übergibt ihn an den Aufrufer
Ergänzung:
Der Unterschied zwischen Math.max.apply und Math.max in JavascriptDie Math.max-Methode in Javascript kann die größte Zahl unter den angegebenen Parametern finden.
Math.max(a, b, c, d, ...)
Aber wenn es ein Array ist, kann es nicht so aufgerufen werden.
Zu diesem Zeitpunkt wird die Apply-Methode verwendet:
> Math.max('1','2','3.1','3.2') < 3.2 > Math.min(1,0,-1) < -1
Optional. Eine Reihe von Argumenten, die an die Funktion übergeben werden sollen.
Sorgen Sie dafür, dass Arrays auch Math.max und Math.min aufrufen.apply 方法 (Function) (JavaScript) 调用函数,并用指定对象替换函数的 this 值,同时用指定数组替换函数的参数。 apply([thisObj[,argArray]]) thisObj 可选。 要用作 this 对象的对象。 argArray
Empfohlene Lektüre:
Detaillierte Erläuterung der Schritte für EL zum Erhalten von KontextparameternFügen Sie Ellipsen hinzu, wenn der Text größer ist die angegebene Anzahl von ZeilenDas obige ist der detaillierte Inhalt vonDie Verwendung und der Unterschied zwischen apply und Math.max(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!