Heim > Web-Frontend > js-Tutorial > Hauptteil

Die Verwendung und der Unterschied zwischen apply und Math.max()

php中世界最好的语言
Freigeben: 2018-05-08 14:29:51
Original
2132 Leute haben es durchsucht

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));
Nach dem Login kopieren

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)
Nach dem Login kopieren

kann als

apply(Math.max, arr)
Nach dem Login kopieren

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, ...)
Nach dem Login kopieren
Nach dem Login kopieren

. Bei Verwendung von apply werden alle Parameter zu einem Array hinzugefügt, d Die ursprüngliche Formel

arr = [a, b, c, d, ...]
Nach dem Login kopieren

entspricht tatsächlich

Math.max.apply(null, [a, b, c, d, ...])
Nach dem Login kopieren

. 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, ...)
Nach dem Login kopieren
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Detaillierte Erläuterung der Schritte für EL zum Erhalten von Kontextparametern


Fügen Sie Ellipsen hinzu, wenn der Text größer ist die angegebene Anzahl von Zeilen

Das 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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage