Heim  >  Artikel  >  Web-Frontend  >  Verwendung der Funktion apply+Math.max()

Verwendung der Funktion apply+Math.max()

php中世界最好的语言
php中世界最好的语言Original
2018-06-13 11:24:101763Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie die Funktion apply+Math.max() verwenden. Was sind die Vorsichtsmaßnahmen für die Verwendung der Funktion apply+Math.max()? Hier ist ein praktischer Fall.

Im Folgenden werden Ihnen die Probleme der Funktionen apply und Math.max() in js vorgestellt. Der spezifische Inhalt ist wie folgt:

var arr=[1,3,6,3,7,9,2];
console.log(Math.max.apply(null,arr));

Ich habe nie verstanden, warum der Maximalwert von an Array kann auf diese Weise berechnet werden? 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. 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 eine Parameterliste. Wenn die Funktion null ist, wird
standardmäßig als

Math.max.apply(null, arr)

angesehen ist eine Parameterliste. Für die Max-Methode sind die Parameter mehrere Zahlen, d. h.

apply(Math.max, arr)

. Bei Verwendung von apply werden alle Parameter zu einem Array hinzugefügt, d In der ursprünglichen Formel entspricht

Math.max(a, b, c, d, ...)

tatsächlich

arr = [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:

Aber direkt Die Übergabe eines Arrays als Parameter wird nicht unterstützt, z. B.: Math.max(). 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))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 Javascript

Javascript Der Math.max Methode in kann die größte Zahl unter den angegebenen Parametern finden.

Math.max.apply(null, [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(a, b, c, d, ...)

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.

> Math.max('1','2','3.1','3.2')
< 3.2
> Math.min(1,0,-1)
< -1
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:

So übergeben Sie ein Array an den Hintergrundcontroller

So passen Sie den Anmeldeformularcode an Vue.js

Das obige ist der detaillierte Inhalt vonVerwendung der Funktion apply+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