Maison > Article > interface Web > Utilisation et différences entre les fonctions apply et Math.max()
Cette fois, je vais vous présenter l'utilisation et la différence entre les fonctions apply et Math.max(). Quelles sont les précautions concernant l'utilisation et la différence entre les fonctions apply et Math.max(). est un cas pratique. Levez-vous et jetez un œil.
Ce qui suit vous présentera les problèmes des fonctions apply et Math.max() en js. Le contenu spécifique est le suivant :
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 une Valeur maximale du tableau ? Je n'arrive toujours pas à comprendre, veuillez donner quelques conseils d'un expert js.
Réponse 1
Function.apply() est une fonctionnalité POO de JS, généralement utilisée pour simuler l'héritage et En élargissant le but de ceci, 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 la 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, ...]
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
La méthode Math.max en Javascript permet de 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
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
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
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !
Lecture recommandée :
Explication détaillée de l'utilisation de Vue Watch
Explication détaillée des étapes pour introduire l'icône de l'icône dans Vue projet
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!