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

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

小云云
小云云original
2018-03-28 09:05:492101parcourir

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));

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)

peut être considéré comme

apply(Math.max, arr)

. 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, ...)

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

arr = [a, b, c, d, ...]

est remplacé dans la formule originale,

Math.max.apply(null, [a, b, c, d, ...])

est en fait équivalent à

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

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')
58a6c08b501e8b076936a6914b3b63ca Math.min(1,0,-1)
c99684c3adf2e8666ef84314b577e750 Math.max.apply(null, ['1','2','3.1','3.2'])
58a6c08b501e8b076936a6914b3b63ca Math.min.apply(null, [1,0,-1])
< -1

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