javascript tome viii - Les ojets Math et Number
Transcription
javascript tome viii - Les ojets Math et Number
Les Objets « Math » et « Number » J AVA S C R I P T (Programmation Internet) V O L . V I I I J.B. Dadet DIASOLUKA Luyalu Nzoyifuanga +243 - 851278216 - 899508675 - 991239212 - 902263541 - 813572818 Affichage en nombre des chiffres significatifs (nnn.ddd...) : <script type="text/javascript"> "use strict"; var num = new Number(1234); console.log(num.toPrecision()); // 1234 console.log(num.toPrecision(2)); // 1.2e+3 num = new Number(1234.5678); console.log(num); // Number { 1234.5678 } console.log(num.valueOf()); // 1234.5678 console.log(num.toString()); // 1234.5678 console.log(String(num)); // 1234.5678 console.log(num.toPrecision()); // 1234.5678 console.log(num.toPrecision(2)); // 1.2e+3 console.log(num.toPrecision(3)); // 1.23e+3 console.log(num.toPrecision(4)); // 1235 console.log(num.toPrecision(9)); // 1234.56780 </script> Affichage en pas fixe des décimales (NNN... . ddd...) : J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VIII <script type="text/javascript"> "use strict"; var num = new Number(123); console.log(num.toFixed()); // 123 console.log(num.toFixed(2)); // 123.00 num = new Number(123.4560); console.log(num); // Number { 123.456 } console.log(num.valueOf()); // 123.456 console.log(num.toString()); // 123.456 console.log(String(num)); // 123.456 console.log(num.toFixed()); // 123 console.log(num.toFixed(2)); // 123.46 console.log(num.toFixed(3)); // 123.456 console.log(num.toFixed(4)); // 123.4560 console.log(num.toFixed(8)); // 123.45600000 </script> Affichage Exponentiel (N.xx...Eee) : <script type="text/javascript"> "use strict"; var num = new Number(1234); console.log(num.toExponential()); // 1.234e+3 console.log(num.toExponential(2)); // 1.23e+3 num = new Number(123.4560); console.log(num); // Number { 123.456 } console.log(num.valueOf()); // 123.456 console.log(num.toString()); // 123.456 console.log(String(num)); // 123.456 console.log(num.toExponential()); // 1.23456e+2 console.log(num.toExponential(2)); // 1.23e+2 console.log(num.toExponential(3)); // 1.235e+2 console.log(num.toExponential(4)); // 1.2346e+2 console.log(num.toExponential(8)); // 1.23456000e+2 </script> Récursivité (Factorielle d’un nombre) : <script type="text/javascript"> var vin=170; Objets Math & Number -2/11- jeudi, 4. avril 2019 (10:49 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VIII let fact = function ( n ) { if ( n == 0) return 1; else return fact ( n - 1) * n ; } console.log(vin+"! = "+fact(vin)); </script> Exécution : 170! = 7.257415615307994e+306 Note : Nous venons de voir là une méthode de l'objet Math. En voici d'autres ainsi que les propriétés. Les Méthodes sont des fonctions intrinsèques,intégrées/incorporées, built-in dans l’objet. Elles ont des parenthèses (). Les Propriétés n’ont pas de parenthèses et représentent,ici des constantes. Les Attributs (Propriétés & Méthodes) sont accessibles via l'objet ici l’objet Math, et leur notation DOIT donc être précédée de « Math. » (Math avec M majuscule et le reste en minuscules, suivi d’un point sans espace devant et après le point) : XI. Méthodes et propriétés de l’objet Math() : Les Méthodes sont des fonctions intrinsèques, intégrées/incorporées, built-in dans le corps de l’objet. Elles ont des parenthèses (). Les Propriétés n’ont pas de parenthèses et représentent, ici des constantes. Propriétés et Méthodes sont accessibles via leur objet conteneur ici l’objet Math, et leur notation DOIT donc être précédée de « Math. » (Math avec M majuscule et le reste en minuscules, suivi d’un point avec ou sans espaces devant et après le point) : Objets Math & Number -3/11- jeudi, 4. avril 2019 (10:49 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VIII Math E: 2.718281828459045 LN10: 2.302585092994046 LN2: 0.6931471805599453 LOG10E: 0.4342944819032518 LOG2E: 1.4426950408889634 PI: 3.141592653589793 SQRT1_2: 0.7071067811865476 SQRT2: 1.4142135623730951 abs: function abs() acos: function acos() acosh: function acosh() asin: function asin() asinh: function asinh() atan: function atan() atan2: function atan2() atanh: function atanh() cbrt: function cbrt() ceil: function ceil() clz32: function clz32() cos: function cos() cosh: function cosh() exp: function exp() expm1: function expm1() floor: function floor() fround: function fround() hypot: function hypot() imul: function imul() log: function log() log10: function log10() log1p: function log1p() log2: function log2() max: function max() min: function min() pow: function pow() Objets Math & Number -4/11- jeudi, 4. avril 2019 (10:49 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VIII random: function random() round: function round() sign: function sign() sin: function sin() sinh: function sinh() sqrt: function sqrt() tan: function tan() tanh: function tanh() toSource: function toSource() trunc: function trunc() Symbol(Symbol.toStringTag): "Math" <prototype>: Object { … } XII. Méthodes et propriétés standards de l’objet Math : abs(N), ceil(N), floor(N), round(N), trunc(N), max(N1,N2), min(N1,N2), pow(B,P), random(N), sqrt(N). XIII. Logarithmes et exponentielle avec l’objet Math : E, exp(N), LN2, LN10, log(N), LOG2E, SQRT1_2, SQRT2. XIV. Trigonométrie avec l’objet Math : PI, sin(N), asin(N), cos(N), acos(N), tan(N), atan(N). Notez dans l’exemple qui suit la virgule de chaînage entre « k=0 » et « i=a.length... » <script> var a=new Date(9999,12,31).toLocaleString() console.log(a.length); for(k=0 , l=a.length ; k < 10 ; k++) Objets Math & Number -5/11- jeudi, 4. avril 2019 (10:49 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VIII console.log(k*l) </script> // 23 // 0 23 46 69 92 115 138 161 184 207 Dans cet autre exemple qui suit, quand la condition « a<=5 ? » est remplie, le chaînage « c = Math.pow(a,2) , d=b*b , e=2*a*b ; » ne se passe pas comme on pourrait s’y attendre (seule la première expression « c = Math.pow(a,2) » n’est pas exécutée , les deux autres (« d=b*b » et « e=2*a*b » ;) sont exécutées : <script> var a=Math.round(Math.random()*10) , b=Math.ceil(Math.log(a)) , c=d=e=0 , v ; v = a<=5 ? a*a + b*b + 2*a*b : c = Math.pow(a,2) , d=b*b , e=2*a*b ; console.log(v+" || "+a+"_"+b+" || "+c+"_"+d+"_"+e) </script> Exécution : La condition « a<=5 ? » est remplie (a==4, inf ou == 5), l’expression avant le double-point est exécutée, Aucune expression dans le chaînage après ce double-point ne devrait être exécutée, mais seule la première expression est ignorée (v a pris la valeur de l’expression « a^2 + b^2 + 2*a*b » d’avant le double-point), « c = Math.pow(a,2) » n’a pas été exécutée (c a gardé sa valeur initiale = valeur d’initialisation), mais les deux autres « d=b*b » et « e=2*a*b » ont été évaluées (exécutées). 36 || 4_2 || 0_4_16 La condition « a<=5 ? » n’est pas remplie (a==7, > 5), l’expression Objets Math & Number -6/11- jeudi, 4. avril 2019 (10:49 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VIII avant le double-point n’est pas exécutée, toute la chaîne d’expressions après ce « : » est exécutée. v prend la valeur de la première expression dans la chaîne d’instructions après le « : » . 49 || 7_2 || 49_4_28 Il ne faut pas confondre l’objet « Math » et l’objet « Number ». Voici les propriétés et méthodes de l’objet « Number » : Number() EPSILON: 2.220446049250313e-16 MAX_SAFE_INTEGER: 9007199254740991 MAX_VALUE: 1.7976931348623157e+308 MIN_SAFE_INTEGER: -9007199254740991 MIN_VALUE: 5e-324 NEGATIVE_INFINITY: -Infinity NaN: NaN POSITIVE_INFINITY: Infinity isFinite: function isFinite() isInteger: function isInteger() isNaN: function isNaN() isSafeInteger: function isSafeInteger() length: 1 name: "Number" parseFloat: function parseFloat() parseInt: function parseInt() prototype: Number { 0 } <prototype>: function () Objets Math & Number -7/11- jeudi, 4. avril 2019 (10:49 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VIII Kinshasa, le jeudi 4 avril 2019 - 10:49:03 PM Mots-clés : JAVASCRIPT, Programmation Internet, keys, values, parseInt, parseFloat, toString, fonction fléchée, sloppy mode, mode strict, prototype, objet ordinaire, objet exotique, objet standard, built-in object, Scope, contexte d’exécution, Domaine, Portée, Étendue, Visibilité, Accessibilité, durée de vie, Es10, ECMASCRIPT 2019, LiveScript, extra-dimensionnels, entités éthériques non-biologiques, TC39, ECMA, Kaprekar DIASOLUKA Nz. Luyalu Docteur en Médecine, Chirurgie & Accouchements (1977), CNOM : 0866 - Spécialiste en ophtalmologie (1980) Études humanités : Scientifique - Mathématiques & Physique. Informaticien-amateur, Programmeur et WebMaster. Chercheur indépendant, autonome et autofinancé, bénévole, sans aucun conflit d’intérêt ou liens d'intérêts ou contrainte promotionnelle avec qui qu’il soit ou quelqu’organisme ou institution / organisation que ce soit, étatique, paraétatique ou privé, industriel ou commercial en relation avec le sujet présenté. +243 - 851278216 - 899508675 - 991239212 - 902263541 - 813572818 [email protected] Objets Math & Number -8/11- jeudi, 4. avril 2019 (10:49 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VIII Autre Lecture : https://www.scribd.com/document/374738470/Le-Plus-Grand-Secret-de-LaCreation D’autres publications pouvant aussi intéresser : • https://www.scribd.com/document/377036251/LeDosage-Des-Medicaments-en-Cac-Cas • https://www.scribd.com/document/377035454/LeHasard-Des-Thermometres-Non-contact-a-Infrarouge • https://www.scribd.com/document/376222482/PetiteIntroduction-Aux-Fonctions-JavaScript • https://www.scribd.com/document/376221919/La-Foien-Jesus-Christ-Pour-Quoi-Faire • https://www.scribd.com/document/375689778/Lacuitevisuelle-angulaire • https://www.scribd.com/document/375349851/Lavariable-This • https://www.scribd.com/document/375024162/FonctionsImbriquees-en-JS • https://www.scribd.com/document/374789297/FormatInterne-Des-Objets-JavaScript • https://www.scribd.com/document/374788758/Iterationsen-JavaScript • https://www.scribd.com/document/374738470/Le-PlusGrand-Secret-de-La-Creation • https://www.scribd.com/document/374597969/NouvelleFormule-d-IMC-indice-de-doduite-Selon-Dr-Diasoluka Objets Math & Number -9/11- jeudi, 4. avril 2019 (10:49 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VIII • https://www.scribd.com/document/373847209/PropertyDescriptors • https://www.scribd.com/document/373833282/l-ObjetGlobal-Window • https://www.scribd.com/document/372665249/JavascriptTome-II • https://www.scribd.com/document/355291488/motiliteoculaire-2 • https://www.scribd.com/document/355291239/motiliteoculaire-I • https://www.scribd.com/document/355290248/Script-dAnalyses-Des-Reflexes-Pupillomoteurs • https://www.scribd.com/document/321168468/Renseigne ments-Id-et-Anthropometriques • https://www.scribd.com/document/320856721/Emission31-Jul-2016 • https://www.scribd.com/document/318182982/Complicati on-Visuelle-du-Traitement-de-La-Malaria • https://www.scribd.com/document/318180637/RapportEntre-Oxymetrie-Et-Type-Respiration • https://www.scribd.com/document/315746265/Classificati on-Des-Medicaments • https://www.scribd.com/document/315745909/Incongruen Objets Math & Number -10/11- jeudi, 4. avril 2019 (10:49 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VIII ces-Heresies-et-Heterodoxies-de-la-Notion-deLaboratoire • https://www.scribd.com/document/315745725/RapportEntre-Oxymetrie-Et-Type-Respiration Objets Math & Number -11/11- jeudi, 4. avril 2019 (10:49 )