Heim > Artikel > Web-Frontend > Einführung in die Funktionen apply und Math.max() in js
Dieser Artikel stellt Ihnen hauptsächlich die Probleme der Funktionen apply und Math.max() in js vor. Am Ende des Artikels habe ich den Unterschied zwischen Math.max.apply und Math.max in js erwähnt kann dir helfen.
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 mir einen Rat von einem JS-Experten.
Antwort 1
Function.apply() ist eine OOP-Funktion von JS. Sie wird im Allgemeinen verwendet, um die Vererbung zu simulieren und die Verwendung von zu erweitern Dies. Der obige Code kann wie folgt verstanden werden:
XXX.apply ist eine Methode zum Aufrufen einer Funktion und ihre Parameter sind: apply(Function, Args),
Function ist die Die aufzurufende Methode Args ist die Parameterliste. Wenn die Funktion null ist, wird standardmäßig das obige verwendet, d. h.
Math.max.apply(null, arr)kann als
apply(Math.max, arr)betrachtet werden Dann ist arr eine Parameterliste. Für die Max-Methode sind ihre Parameter mehrere Zahlen, d. h.
Math.max(a, b, c, d, ...). Wenn Sie apply verwenden, fügen Sie alle Parameter zu einem Array hinzu, d
wird in die ursprüngliche Formel eingesetzt,
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.
Math.max(a, b, c, d, ...)Antwort 2
Methode unterstützt die Übergabe mehrerer Parameter, wie zum Beispiel:
Math.max()
Aber direkt Die Übergabe eines Arrays als Parameter wird nicht unterstützt, z. B.: Math.max(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. Math.max(new Array(1,4,2,3,7,5,6))
Der Unterschied zwischen Math.max.apply und Math.max in Javascript
Javascript Der Math.max Methode in kann die größte Zahl unter den angegebenen Parametern finden.
Wenn es sich jedoch um ein Array handelt, kann es nicht so aufgerufen werden.
> Math.max('1','2','3.1','3.2') 58a6c08b501e8b076936a6914b3b63ca Math.min(1,0,-1) 7f4219926673080f599b7512e3c3017a Math.max.apply(null, ['1','2','3.1','3.2']) 58a6c08b501e8b076936a6914b3b63ca Math.min.apply(null, [1,0,-1]) < -1
JavaScript aufrufen und anwenden
Das obige ist der detaillierte Inhalt vonEinführung in die Funktionen apply und Math.max() in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!