Maison interface Web js tutoriel Maîtriser l'objet mathématique de JavaScript : un guide complet des fonctions et propriétés mathématiques intégrées

Maîtriser l'objet mathématique de JavaScript : un guide complet des fonctions et propriétés mathématiques intégrées

Sep 08, 2024 pm 08:34 PM

Mastering JavaScript

L'objet mathématique JavaScript : un aperçu

L'objet JavaScript Math est un objet intégré qui fournit une collection de fonctions et de constantes mathématiques. Ce n'est pas un constructeur, vous ne pouvez donc pas en créer des instances ; au lieu de cela, il est utilisé directement via ses méthodes et propriétés statiques.

1. Constantes

L'objet Math comprend plusieurs constantes utiles pour les calculs mathématiques :

  • Math.E : La base des logarithmes naturels, approximativement égale à 2,718.
  • Math.LN2 : Le logarithme népérien de 2, approximativement égal à 0,693.
  • Math.LN10 : Le logarithme népérien de 10, approximativement égal à 2,303.
  • Math.LOG2E : Le logarithme base 2 de E, approximativement égal à 1,442.
  • Math.LOG10E : Le logarithme base 10 de E, approximativement égal à 0,434.
  • Math.PI : Le rapport de la circonférence d'un cercle à son diamètre, approximativement égal à 3,14159.
  • Math.SQRT1_2 : La racine carrée de 1/2, approximativement égale à 0,707.
  • Math.SQRT2 : La racine carrée de 2, approximativement égale à 1,414.

2. Méthodes

L'objet Math propose plusieurs méthodes pour effectuer des opérations mathématiques :

  • Math.abs(x) : renvoie la valeur absolue de x.
  Math.abs(-5); // 5
Copier après la connexion
  • Math.ceil(x) : Arrondit x à l'entier le plus proche.
  Math.ceil(4.2); // 5
Copier après la connexion
  • Math.floor(x) : Arrondit x à l'entier le plus proche.
  Math.floor(4.7); // 4
Copier après la connexion
  • Math.round(x) : Arrondit x à l'entier le plus proche.
  Math.round(4.5); // 5
Copier après la connexion
  • Math.max(...values) : Renvoie le plus grand de zéro ou plusieurs nombres.
  Math.max(1, 5, 3); // 5
Copier après la connexion
  • Math.min(...values) : Renvoie le plus petit de zéro ou plusieurs nombres.
  Math.min(1, 5, 3); // 1
Copier après la connexion
  • Math.random() : renvoie un nombre pseudo-aléatoire compris entre 0 (inclus) et 1 (exclusif).
  Math.random(); // e.g., 0.237
Copier après la connexion
  • Math.pow(base, exponent) : Renvoie la base élevée à la puissance exposant.
  Math.pow(2, 3); // 8
Copier après la connexion
  • Math.sqrt(x) : Renvoie la racine carrée de x.
  Math.sqrt(9); // 3
Copier après la connexion
  • Math.trunc(x) : renvoie la partie entière de x, en supprimant tous les chiffres fractionnaires.
  Math.trunc(4.9); // 4
Copier après la connexion

3. Exemples d'utilisation

Voici quelques exemples pratiques de la façon dont vous pouvez utiliser l'objet Math :

  • Générer un entier aléatoire
  function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
  }
  console.log(getRandomInt(1, 10)); // e.g., 7
Copier après la connexion
  • Calcul de l'hypoténuse
  function calculateHypotenuse(a, b) {
    return Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
  }
  console.log(calculateHypotenuse(3, 4)); // 5
Copier après la connexion

4. Limites et remarques

  • Problèmes de précision : l'arithmétique à virgule flottante peut entraîner des problèmes de précision. Par exemple, Math.sqrt(2) * Math.sqrt(2) peut ne pas être exactement égal à 2 en raison d'erreurs d'arrondi.
  • Pas un constructeur : L'objet Math n'a pas de capacités de constructeur. Toutes les propriétés et méthodes sont statiques.

Méthodes et propriétés des objets mathématiques


1. Math.abs(x)

Renvoie la valeur absolue de x.

console.log(Math.abs(-10)); // 10
console.log(Math.abs(5.5)); // 5.5
Copier après la connexion

2. Math.acos(x)

Renvoie l'arccosinus (cosinus inverse) de x, en radians.

console.log(Math.acos(1)); // 0
console.log(Math.acos(0)); // 1.5707963267948966 (π/2)
Copier après la connexion

3. Math.acosh(x)

Renvoie l'arccosinus hyperbolique de x.

console.log(Math.acosh(1)); // 0
console.log(Math.acosh(2)); // 1.3169578969248166
Copier après la connexion

4. Math.asin(x)

Renvoie l'arc sinus (sinus inverse) de x, en radians.

console.log(Math.asin(0)); // 0
console.log(Math.asin(1)); // 1.5707963267948966 (π/2)
Copier après la connexion

5. Math.asinh(x)

Renvoie l'arc sinus hyperbolique de x.

console.log(Math.asinh(0)); // 0
console.log(Math.asinh(1)); // 0.881373587019543
Copier après la connexion

6. Math.atan(x)

Renvoie l'arctangente (tangente inverse) de x, en radians.

console.log(Math.atan(1)); // 0.7853981633974483 (π/4)
console.log(Math.atan(0)); // 0
Copier après la connexion

7. Math.atan2(y, x)

Renvoie l'arctangente du quotient de ses arguments, en radians.

console.log(Math.atan2(1, 1)); // 0.7853981633974483 (π/4)
console.log(Math.atan2(-1, -1)); // -2.356194490192345 (-3π/4)
Copier après la connexion

8. Math.atanh(x)

Renvoie l'arctangente hyperbolique de x.

console.log(Math.atanh(0)); // 0
console.log(Math.atanh(0.5)); // 0.5493061443340549
Copier après la connexion

9. Math.cbrt(x)

Renvoie la racine cubique de x.

console.log(Math.cbrt(27)); // 3
console.log(Math.cbrt(-8)); // -2
Copier après la connexion

10. Math.ceil(x)

Arrondit x vers le haut à l'entier le plus proche.

console.log(Math.ceil(4.2)); // 5
console.log(Math.ceil(-4.7)); // -4
Copier après la connexion

11. Math.clz32(x)

Renvoie le nombre de zéros non significatifs dans la représentation binaire 32 bits de x.

console.log(Math.clz32(1)); // 31
console.log(Math.clz32(0x80000000)); // 0
Copier après la connexion

12. Math.cos(x)

Renvoie le cosinus de x (où x est en radians).

console.log(Math.cos(0)); // 1
console.log(Math.cos(Math.PI)); // -1
Copier après la connexion

13. Math.cosh(x)

Returns the hyperbolic cosine of x.

console.log(Math.cosh(0)); // 1
console.log(Math.cosh(1)); // 1.5430806348152437
Copier après la connexion

14. Math.E

Returns Euler's number, approximately 2.718.

console.log(Math.E); // 2.718281828459045
Copier après la connexion

15. Math.exp(x)

Returns the value of e raised to the power of x.

console.log(Math.exp(1)); // 2.718281828459045
console.log(Math.exp(0)); // 1
Copier après la connexion

16. Math.expm1(x)

Returns the value of e raised to the power of x, minus 1.

console.log(Math.expm1(1)); // 1.718281828459045
console.log(Math.expm1(0)); // 0
Copier après la connexion

17. Math.floor(x)

Rounds x downwards to the nearest integer.

console.log(Math.floor(4.7)); // 4
console.log(Math.floor(-4.2)); // -5
Copier après la connexion

18. Math.fround(x)

Returns the nearest (32-bit single precision) float representation of x.

console.log(Math.fround(1.337)); // 1.336914
console.log(Math.fround(1.5)); // 1.5
Copier après la connexion

19. Math.LN2

Returns the natural logarithm of 2, approximately 0.693.

console.log(Math.LN2); // 0.6931471805599453
Copier après la connexion

20. Math.LN10

Returns the natural logarithm of 10, approximately 2.302.

console.log(Math.LN10); // 2.302585092994046
Copier après la connexion

21. Math.log(x)

Returns the natural logarithm (base e) of x.

console.log(Math.log(Math.E)); // 1
console.log(Math.log(10)); // 2.302585092994046
Copier après la connexion

22. Math.log10(x)

Returns the base-10 logarithm of x.

console.log(Math.log10(10)); // 1
console.log(Math.log10(100)); // 2
Copier après la connexion

23. Math.LOG10E

Returns the base-10 logarithm of e, approximately 0.434.

console.log(Math.LOG10E); // 0.4342944819032518
Copier après la connexion

24. Math.log1p(x)

Returns the natural logarithm of 1 + x.

console.log(Math.log1p(1)); // 0.6931471805599453
console.log(Math.log1p(0)); // 0
Copier après la connexion

25. Math.log2(x)

Returns the base-2 logarithm of x.

console.log(Math.log2(2)); // 1
console.log(Math.log2(8)); // 3
Copier après la connexion

26. Math.LOG2E

Returns the base-2 logarithm of e, approximately 1.442.

console.log(Math.LOG2E); // 1.4426950408889634
Copier après la connexion

27. Math.max(...values)

Returns the largest of zero or more numbers.

console.log(Math.max(1, 5, 3)); // 5
console.log(Math.max(-1, -5, -3)); // -1
Copier après la connexion

28. Math.min(...values)

Returns the smallest of zero or more numbers.

console.log(Math.min(1, 5, 3)); // 1
console.log(Math.min(-1, -5, -3)); // -5
Copier après la connexion

29. Math.PI

Returns the value of π, approximately 3.14159.

console.log(Math.PI); // 3.141592653589793
Copier après la connexion

30. Math.pow(base, exponent)

Returns the value of base raised to the power of exponent.

console.log(Math.pow(2, 3)); // 8
console.log(Math.pow(5, 0)); // 1
Copier après la connexion

31. Math.random()

Returns a pseudo-random number between 0 (inclusive) and 1 (exclusive).

console.log(Math.random()); // e.g., 0.237
Copier après la connexion

32. Math.round(x)

Rounds x to the nearest integer.

console.log(Math.round(4.5)); // 5
console.log(Math.round(4.4)); // 4
Copier après la connexion

33. Math.sign(x)

Returns the sign of a number, indicating whether the number is positive, negative, or zero.

console.log(Math.sign(-5)); // -1
console.log(Math.sign(0)); // 0
console.log(Math.sign(5)); // 1
Copier après la connexion

34. Math.sin(x)

Returns the sine of x (where x is in radians).

console.log(Math.sin(0)); // 0
console.log(Math.sin(Math.PI / 2)); // 1
Copier après la connexion

35. Math.sinh(x)

Returns the hyperbolic sine of x.

console.log(Math.sinh(0)); // 0
console.log(Math.sinh(1)); // 1.1752011936438014
Copier après la connexion

36. Math.sqrt(x)

Returns the square root of x.

console.log(Math.sqrt(9)); // 3
console.log(Math.sqrt(16));

 // 4
Copier après la connexion

37. Math.SQRT1_2

Returns the square root of 1/2, approximately 0.707.

console.log(Math.SQRT1_2); // 0.7071067811865476
Copier après la connexion

38. Math.SQRT2

Returns the square root of 2, approximately 1.414.

console.log(Math.SQRT2); // 1.4142135623730951
Copier après la connexion

39. Math.tan(x)

Returns the tangent of x (where x is in radians).

console.log(Math.tan(0)); // 0
console.log(Math.tan(Math.PI / 4)); // 1
Copier après la connexion

40. Math.tanh(x)

Returns the hyperbolic tangent of x.

console.log(Math.tanh(0)); // 0
console.log(Math.tanh(1)); // 0.7615941559557649
Copier après la connexion

41. Math.trunc(x)

Returns the integer part of a number by removing any fractional digits.

console.log(Math.trunc(4.9)); // 4
console.log(Math.trunc(-4.9)); // -4
Copier après la connexion

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

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)

Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Apr 04, 2025 pm 02:42 PM

Des questions et des solutions fréquemment posées pour l'impression de billets thermiques frontaux pour le développement frontal, l'impression de billets est une exigence commune. Cependant, de nombreux développeurs mettent en œuvre ...

Démystifier javascript: ce qu'il fait et pourquoi c'est important Démystifier javascript: ce qu'il fait et pourquoi c'est important Apr 09, 2025 am 12:07 AM

JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

Qui est payé plus de python ou de javascript? Qui est payé plus de python ou de javascript? Apr 04, 2025 am 12:09 AM

Il n'y a pas de salaire absolu pour les développeurs Python et JavaScript, selon les compétences et les besoins de l'industrie. 1. Python peut être davantage payé en science des données et en apprentissage automatique. 2. JavaScript a une grande demande dans le développement frontal et complet, et son salaire est également considérable. 3. Les facteurs d'influence comprennent l'expérience, la localisation géographique, la taille de l'entreprise et les compétences spécifiques.

JavaScript est-il difficile à apprendre? JavaScript est-il difficile à apprendre? Apr 03, 2025 am 12:20 AM

Apprendre JavaScript n'est pas difficile, mais c'est difficile. 1) Comprendre les concepts de base tels que les variables, les types de données, les fonctions, etc. 2) Master la programmation asynchrone et les implémenter via des boucles d'événements. 3) Utilisez les opérations DOM et promettez de gérer les demandes asynchrones. 4) Évitez les erreurs courantes et utilisez des techniques de débogage. 5) Optimiser les performances et suivre les meilleures pratiques.

Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido?
ou:
Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido? ou: Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Apr 04, 2025 pm 05:36 PM

La discussion sur la réalisation des effets de défilement de parallaxe et d'animation des éléments dans cet article explorera comment réaliser le site officiel de Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ...

L'évolution de JavaScript: tendances actuelles et perspectives d'avenir L'évolution de JavaScript: tendances actuelles et perspectives d'avenir Apr 10, 2025 am 09:33 AM

Les dernières tendances de JavaScript incluent la montée en puissance de TypeScript, la popularité des frameworks et bibliothèques modernes et l'application de WebAssembly. Les prospects futurs couvrent des systèmes de type plus puissants, le développement du JavaScript côté serveur, l'expansion de l'intelligence artificielle et de l'apprentissage automatique, et le potentiel de l'informatique IoT et Edge.

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Apr 04, 2025 pm 05:09 PM

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en JavaScript? Lors du traitement des données, nous rencontrons souvent la nécessité d'avoir le même ID ...

Zustand Asynchronous Operation: Comment assurer le dernier État obtenu par Usestore? Zustand Asynchronous Operation: Comment assurer le dernier État obtenu par Usestore? Apr 04, 2025 pm 02:09 PM

Problèmes de mise à jour des données dans les opérations asynchrones de Zustand. Lorsque vous utilisez la bibliothèque de gestion de l'État de Zustand, vous rencontrez souvent le problème des mises à jour de données qui entraînent des opérations asynchrones prématurées. � ...

See all articles