Heim >Web-Frontend >js-Tutorial >Die Verwendung und der Unterschied zwischen apply und Math.max()

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

php中世界最好的语言
php中世界最好的语言Original
2018-05-08 14:29:512216Durchsuche

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

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!

Stellungnahme:
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