Maison interface Web js tutoriel Introduction aux fonctions Apply et Math.max() en js

Introduction aux fonctions Apply et Math.max() en js

Mar 28, 2018 am 09:05 AM
apply javascript

Cet article vous présente principalement les problèmes des fonctions apply et Math.max() en js, j'ai mentionné la différence entre Math.max.apply et Math.max en js. peut vous aider.

var arr=[1,3,6,3,7,9,2];
console.log(Math.max.apply(null,arr));
Copier après la connexion

Je ne comprends toujours pas pourquoi cela peut calculer la valeur maximale d'un tableau ? Je n'arrive toujours pas à comprendre, veuillez donner quelques conseils à un expert js.

Réponse 1

Function.apply() est une fonctionnalité POO de JS. Elle est généralement utilisée pour simuler l'héritage et étendre l'utilisation de. this. For Le code ci-dessus peut être compris comme ceci :

XXX.apply est une méthode d'appel d'une fonction, et ses paramètres sont : apply(Function, Args),

Function est le méthode à appeler, Args est la liste de paramètres. Lorsque Function est nulle, la valeur par défaut est celle ci-dessus,
c'est-à-dire que

Math.max.apply(null, arr)
Copier après la connexion

peut être considéré comme

apply(Math.max, arr)
Copier après la connexion

. Ensuite, arr est une liste de paramètres, pour la méthode max, ses paramètres sont plusieurs nombres, c'est-à-dire

Math.max(a, b, c, d, ...)
Copier après la connexion
Copier après la connexion

Lorsque vous utilisez apply, ajoutez tous les paramètres à un tableau, c'est-à-dire

arr = [a, b, c, d, ...]
Copier après la connexion

est remplacé dans la formule originale,

Math.max.apply(null, [a, b, c, d, ...])
Copier après la connexion

est en fait équivalent à

Math.max(a, b, c, d, ...)
Copier après la connexion
Copier après la connexion

Ici, l'avantage d'utiliser apply est d'améliorer les performances de certains moteurs JS.

La méthode Réponse 2

Math.max() prend en charge la transmission de plusieurs paramètres, tels que : Math.max(1,4,2,3,7,5,6)

Mais directement passer un tableau en paramètre n'est pas pris en charge, comme : Math.max(new Array(1,4,2,3,7,5,6)).

Ici, tant que nous avons un moyen de diviser le tableau un par un et de le transmettre à la méthode Math.max(), la méthode de transmission du tableau est implémentée.

Toutes les fonctions ont la méthode apply (chaîne de portée, paramètre). Le "paramètre" de cette fonction reçoit un tableau, sépare chaque valeur du tableau et la transmet à l'appelant

Supplémentaire :

La différence entre Math.max.apply et Math.max en Javascript

Javascript Le Math.max La méthode in peut trouver le plus grand nombre parmi les paramètres donnés.

> Math.max('1','2','3.1','3.2')
< 3.2
> Math.min(1,0,-1)
< -1
Copier après la connexion

Mais s'il s'agit d'un tableau, il ne peut pas être appelé comme ça.

La méthode d'application est utilisée à ce moment :

apply 方法 (Function) (JavaScript)
调用函数,并用指定对象替换函数的 this 值,同时用指定数组替换函数的参数。
apply([thisObj[,argArray]])
thisObj
  可选。 要用作 this 对象的对象。
argArray
Copier après la connexion

Facultatif. Un ensemble d'arguments à transmettre à la fonction.
Créez intelligemment des tableaux qui appellent également Math.max et Math.min.

> Math.max.apply(null, ['1','2','3.1','3.2'])
< 3.2
> Math.min.apply(null, [1,0,-1])
< -1
Copier après la connexion

Recommandations associées :

Appel JavaScript et application

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 pm 02:54 PM

Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript

WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel Dec 17, 2023 pm 05:30 PM

WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel

Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 am 09:39 AM

Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript

Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Dec 17, 2023 pm 12:09 PM

Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP

JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel Dec 17, 2023 pm 05:13 PM

JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel

Comment obtenir facilement le code d'état HTTP en JavaScript Comment obtenir facilement le code d'état HTTP en JavaScript Jan 05, 2024 pm 01:37 PM

Comment obtenir facilement le code d'état HTTP en JavaScript

Comment utiliser insertBefore en javascript Comment utiliser insertBefore en javascript Nov 24, 2023 am 11:56 AM

Comment utiliser insertBefore en javascript

See all articles