Le langage - chingatomeEn programmation orientée objet, on peut créer de nouveaux types d’objets...

39
Le langage Javascript Partie 2 M r Castanet - Année scolaire 2009/2010 - page 1

Transcript of Le langage - chingatomeEn programmation orientée objet, on peut créer de nouveaux types d’objets...

Le langage

Javascript

Partie 2

Mr Castanet - Année scolaire 2009/2010 - page 1

Sommaire :

Les fonctions du noyau 3

Global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

RegExp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

JavaScript - Partie 2 - page 2

I. Les fonctions du noyau :JavaScript fait partie d’une normalisation par l’ECMA intitulé ECMA-262.Cette norme spécifie toutes les règles de syntaxes et commandes de bases du langage (vuedans la première partie de la formation).Elle définit également les objets de base existant dans toutes implémentations JavaScript.On retrouvera l’ensemble de ces objets dans tous les langages utilisant cette spécificationcomme base du langage. Parmi ceux-ci :

JavaScript pour les navigateurs ;

JavaScript pour Adobe Acrobat ;

ActionScript pour Flash.

Donc, en apprenant JavaScript, vous apprenez également les règles de base pour comprendrele langage ActionScript de Flash. Il restera à connaître les fonctions à utiliser dans le cas d’unemanipulation d’animation.

Dans ce chapitre, nous allons voir les différents objets présent dans le noyau de JavaScript,ainsi que leurs propriétés et leurs méthodes.

Cette partie de la formation va lister la plupart des méthodes des objets du noyau.Ces méthodes renvoient parfois des valeurs, mais surtout prennent des arguments d’uncertain type. Ainsi, lors de la présentation la fonction substr() de l’objet String, onnotera :

String str.substr(number num1,number num2)

Les informations écrites en italique indiquent que les arguments num1 et num2 sont detypes Number et que cette fonction renvoie une valeur qui est de type String

A.Global :Dans la construction du langage JavaScript, tout est question d’objet. On a vu qu’un objetpeut contenir des sous-objets.En fait, il existe un objet contenant tous les autres : c’est l’objet global. Cet objet n’a pasbesoin d’être cité explicitement puisqu’il est considéré comme le “tout” de tout ce que contientle langage.Dans le corps même du script, il est accessible via le mot-clef this.

Pour l’implémentation JavaScript dans les navigateurs, cet objet a également pour nomwindow.

Dans le cas du noyau JavaScript (norme ECMA-262), voici les propriétés et les méthodesde l’objet global :

JavaScript - Partie 2 - page 3

Propriété :number NaN

objet de type Number signifiant “Not-A-Number”

number Infinity

objet de type Number représentant la valeur +∞

undefined

valeur repésentant une valeur non définie. Par exemple, dans le cas d’une variabledéclarée mais non-affectée

Etant des propriétés de l’objet global, les deux instructions suivantes sont équivalentes :var a=NaN; var a=window.NaN;

Méthode :eval(string str)

str est une chaîne de caractères contenant du code JavaScript. La méthode eval vaévaluer le code contenu dans la chaîne str.Le résultat retourné par cette méthode sera celui de la dernière instructions de strexécuté.

int parseInt(string str, int base)

La méthode parseInt() va convertir en nombre la chaîne de caractère str.L’argument base est optionnel, si il est présent cette méthode essayera d’interprêterla chaîne str comme une représentation d’un nombre en base base.

number parseFloat(string str)

str est une chaîne de caractères contenant la représentation d’un nombre décimal.Cette méthode renverra le nombre décimal contenu dans cette chaîne.

boolean isNan(number nbr)

renverra true si nbr a la valeur NaN, et renverra false dans le cas contraire.Renvoie la valeur NaN en cas d’impossibilité de conversion de la chaîne en nombre.

boolean isFinite(number nbr)

renverra true si nbr a une valeur finie et renverra false dans le cas contraire.

JavaScript - Partie 2 - page 4

Renvoie la valeur NaN en cas d’impossibilité de conversion de la chaîne en nombre.

string encodeURI(string str)

Cette méthode certains caractères de str par leurs séquences d’échappement afin dela rendre compatible avec les chaînes de caractères utilisées comme adressse :

encodeURI("2 3") renverra "2%203"Le caractère espace n’est pas accepté dans une adresse et sera remplacé par la séquenced’échappement %20.

string decodeURI(string str)

Cette méthode remplace toutes les séquences d’échappement présent dans str par lescaractères correspondants, pour la rendre humainement lisible.

B.Object :En programmation orientée objet, on peut créer de nouveaux types d’objets en se servantd’objets existant. Le nouvele objet possédera les propriétés et méthodes de l’objet ayant servide modèle plus les nouvelles propriétés et méthodes le caractérisant.

L’objet Object fait partie du noyau de JavaScript, et tout objet de JavaScript est créeà partir de celui-ci. Il contient donc le minimum de propriété et de méthode permettant dedéfinir un objet, et tout autre objet possèdera au minimum celle-ci : tout objet aura pourpatron Object.

La plupart des propriétés et méthodes présentées ici n’ont pas d’intérêt pour le programmateurdébutant et moyen.

obj représente un objet de type object.

Propriété :function obj.constructor

Cette méthode représente le constructeur qui a permis de créer l’objet obj

Méthode :string obj.toString()

Cette méthode convertit object en chaîne de caractères (voir paragraphe sur la con-version de types).Tout objet JavaScript possède cette méthode héritée de Object, mais celle-ci peutêtre inefficace tel que fournit initialement, il sera nécessaire alors de la réécrire dans

JavaScript - Partie 2 - page 5

le cas d’objet créé hors du noyau.

string obj.toLocaleString()

Cette méthode est identique à la méthode précédente, mais prend en compte lesparamètres locaux définis sur l’ordinateur du client lors de la conversion :

pour les nombre décimaux, le séparateur entre la partie entière et décimale sera affichéavec un point en Amérique, et avec une virgule en France

il en est de même pour les dates.

obj.valueOf()

Cette méthode renvoie une valeur primitive (nombre, chaîne, booléen) censée représen-tée obj.Cette méthode est hériée par tous les objets JavaScript.Les objets du noyau redéfinissent cette méthode à partir du prototype afin de renvoyerune valeur significative.

boolean obj.hasOwnProperty(string prop)

Cette méthode vérifie si prop est une propriété de l’objet object : elle renverra truedans ce cas, false sinon. Elle ne vérifiera pas la présence de la propriété dans leprototype de l’objet : ainsi, obj.hasOwnProperty("toString") renverra false.

boolean Obj.prototype.isPrototypeOf(obj)

Obj représente l’objet-constructeur d’un type d’objet.Cette méthode érifie si Obj est inclus dans le prototype de obj : c’est à dire si l’objetobj a été construit à un moment donné à partir du modèle de l’objet Obj.

1 < s c r i p t >2 var a= new Boolean(true);3 cha ine =Boolean.prototype. i sPrototypeOf (a);4 cha ine +=" - ";5 cha ine +=Object.prototype. i sPrototypeOf (a);6 cha ine +=" - ";7 cha ine += Function.prototype. i sPrototypeOf (a);8

9 document.write( cha ine );10 </ s c r i p t >

JavaScript - Partie 2 - page 6

boolean obj.propertyIsEnumerable(string prop)

Cette méthode vérifie si prop est une propriété énumérable (n’ayant pas l’attributdontEnum) de l’objet obj.Elle renvoie true dans ce cas et false dans le cas contraire.

C.Function :Toute fonction en JavaScript découle de l’objet Function. Généralement on n’utilise pas leconstructeur de cet objet pour créer, on utilise plutôt la première séquence ci-dessous :

1 < s c r i p t >2 function mu l t i p l i e 1 (arg1 , arg2){3 return ( arg1* arg2);4 }5

6 // Cette fonction aurait pu être aussi définie de la ←↩

manière suivante

7 var mu l t i p l i e 2 = new Function("arg1","arg2","return (←↩

arg1*arg2);");8 </ s c r i p t >

Les fonctions multiplie1 et multiplie2 sont parfaitement équivalentes : la seconde estdéclarée à l’aide du constructeur de l’objet Function.

Lors de l’appel à une fonction, JavaScript crée l’objet arguments qui sera local au corpsd’exécution de la fonction et permettant de manipuler l’ensemble des arguments passés lors del’appel à la fonction (même ceux qui n’ont pas été prévus lors de la déclaration de la fonction).

fct représente un objet de type function.

Propriété :int fct.length

Cette propriété représente le nombre d’arguments demandés lors de la déclaration dela fonction.

Méthode :Considéré comme hérité de Object, tout objet de JavaScript hérite des méthodes toSource()et toString()

fct.apply(object thisValue,array arg)

JavaScript - Partie 2 - page 7

Cette méthode permet de lancer un appel à la fonction fct de la part de l’objetthisValue : dans le corps de déclaration de la fonction, this aura pour valeurthisValue ; si thisValue a pour valeur undefined ou null, JavaScript lanceral’appel de la part de l’objet global.On peut fournir l’argument arg qui est optionnel : ce tableau fournira l’ensemble desarguments lors de l’appel à cette fonction.Cette méthode renverra la valeur de retour de la fonction si celle-ci existe.

fct.call(object thisValue, arg1, arg2,...)

Cette méthode est identique à apply() sauf que les arguments passés (si ils existent)sont passés les uns après les autres dans l’appel de la méthode call.

Ces deux dernières méthodes servent pour hériter une méthode d’un objet sur un autre afind’éviter de la réécrire : autant dire qu’elle ne servira qu’au programmeur chevronné.

D.Array :Les tableaux sont des objets existant dans tous les langages de programmation.Ce sont des conteneurs : leur seule utilité est de stocker un ou plusieurs objet en leur sein ;objets pas nécessaire du même type.On distingue habituellement deux types de tableaux :

les tableaux à index numérique : chaque élément est repéré par son ordre d’insertion dansle tableau. On parlera du rang de l’élément dans le tableau.Le premier élément a pour rang 0, le second élément a pour rang 1. . .

les tableaux associatifs : chaque élément est identifié dans le tableau par une chaîne decaractères. On parle alors de paire “clé/valeur” pour parler de identifiant/élément.

En JavaScript, les tableaux sont de type Array et sont créesexplicitement par l’objet Array.

var a=new Array("Bonjour","Hello","Buenos dias");Ce tableau possède trois éléments.

implicitement en utilisant l’écriture littérale d’une tableau :var b=["Bonjour","Hello","Buenos dias"]

Les variables a et b ainsi crées sont totalement équivalentes.

Voici la syntaxe pour récupérer les éléments du tableau :L’élément de rang 0 du tableau tab est accessible par :

tab[0]

L’élément de rang 1 du tableau tab est accessible par :tab[1]

JavaScript - Partie 2 - page 8

En JavaScript, une propriété prop d’un objet obj peut être accessible via les deuxinstructions suivantes :

obj.propobj["prop"]

On peut utiliser cet astuce pour créer des tableaux associatifs en JavaScript: en ra-joutant de nouvelles propriétés à un tableau vide, il est alors possible d’associer unevaleur à un identifiant (chaîne de caractères).Le problème, alors, en JavaScript et qu’on ne sait pas réelement quelles sont les pro-priétés de l’objet qui doivent être considérées comme une valeur du tableau.

1 < s c r i p t >2 var a=new Array ();3 a["fr"]="Bonjour";4 a["en"]="Hello";5 a["es"]="Buenos dias";6 document.write(a.length);7 </ s c r i p t >

Le code suivant indique que la variable c a une longueur nulle.Seul une boucle for(x in c)... permettra d’identifier toutes les clefs installés dans letableau.

Les instructions suivantes :

1 < s c r i p t >2 var a=new Array (1,2,3);3 a[90]=91;4 document.write(a.length);5 </ s c r i p t >

montrent que la variable a ainsi créée a une longueur de 91, même si en réalité ce tableau necomprend que 4 éléments définits (valeur distincte de undefined).

Constructeur :Nous allons étudier le constructeur Array() de tableaux. Plus particulièrement, le type et lenombre d’argument qu’utilise ce constructeur.

aucun argument : var a=new Array();Un tableau vide (de longueur 0) est affecté à la variable a.

un seul argument numérique : var b=new Array(5);Un tableau de longueur 5 dont tous les éléments ont pour valeur undefined sera affecté àb.

JavaScript - Partie 2 - page 9

un seul argument non-numérique ou plusieurs arguemnts de type quelconque : var c=newArray(1,"Bonjour","Au revoir");Un tableau de trois éléments est créé.

Voici quelques exemples de création de tableau :

1 //Crée un tableau vide , puis affecte les valeurs

2 var tab1 = new Array ();3 tab1 [0] = "premier";4 tab1 [1] = "second";5

6 //Crée un tableau à deux éléments mais vide

7 var tab2 = new Array (2);8 tab2 [0] = "premier";9 tab2 [1] = "second";

10

11 //Crée le tableau avec ses éléments incorporés

12 var tab3 = new Array("premier","second");13

14 //Crée un tableau à l’aide

15 //de la notation litérale

16 var tab4 = { 0 : "premier", 1 : "second" };17

18 //Crée un tableau associatif

19 var tab5 = new Array ();20 tab5["a"] = "premier";21 tab5["b"] = "second";22

23 //Crée un tableau associatif

24 //à l’aide de la notation litérale

25 var tab6 = { "a" : "premier", "b" : "second" };

L’instruction suivante :var tab=new Array(); tab[5]="bonjour";

créera un tableau contenant 6 éléments dont les cinq premiers ont pour valeur undefined.

Propriété :tab représentera un objet de type Array :

number tab.length

JavaScript - Partie 2 - page 10

La valeur de cette propriété représente le nombre d’éléments contenus dans le tableau.

Méthode :array tab.concat(array tab1,array tab2,...)

On passe un ou plusieurs tableaux en arguments.Cette méthode concaténe le tableau tab avec l’ensemble des tableaux passés en argu-ments : on obtient un tableau obtenu en mettant bout à bout tous ces tableaux. Letableau ainsi obtenu sera retourné par la fonction.

string tab.join(string str)

Cette méthode convertit tab en chaîne de caractères en se servant de str commeséparateur des éléments.Le résultat retourné est la chaîne de caractère ainsi formée.str est optionnel, si une valeur n’est pas fourni, la virgule est utilisée

object tab.pop()

Après application de cette méthode, tab se voit retirer son dernier élément. Celui-ciest la valeur retournée.

number tab.push(object obj1,object obj2,...)

Cette méthode un ou plusieurs objets de nature quelconque en arguments.Après exécution de cette méthode, tab se voit rajouter en fin de tableau les élémentspassés en arguments.La valeur retournée est le nombre d’éléments constituant tab après application de laméthode.

array tab.reverse()

Après exécution de cette méthode, tab verra l’ordre de tous ses éléments inversés (lepremier élément sera le dernier, . . . ).Le résultat retourné est la nouvelle valeur de tab.

array tab.shift()

Après exécution, tab se voit retirer son premier élément.Le résultat retourné sera l’élément retiré.

array tab.slice(int num1,int num2)

JavaScript - Partie 2 - page 11

Cette méthode extrait une partie du tableau tab. Voici l’interprêtation des arguments:

Si les deux paramètres sont positifs : La valeur retournée est le sous tableau con-stitué des éléments de tab d’ordre compris entre num1ième (compris) et num2ième

(non compris).

Un argument négatif représentera l’élément en commençant par compter par lafin : si num1 est négatif, il désignera l’élément de rang tab.length+num1)

L’argument num2 est optionnel (a pour valeur undefined) : en cas d’abscence,la méthode utilisera la longueur du tableau.Ainsi, tab.slice(5) retournera le sous tableau de l’élément de rang 5 jusqu’àla fin du tableau.

array tab.sort(function compareFonction)

Cette méthode permet d’ordonner les éléments d’un tableau.L’argument compareFonction est optionnel, de fait si sa valeur est undefined,ses éléments sont transformés en chaîne de caractères pour subir une comparai-son (comparaison naturelle des chaînes de caractères : elle porte successivementsur les premiers caractères en fonction de la table ASCII)

La fonction compareFonction est une fonction prennant deux arguments, de laforme compareFonction(a,b) et retourne :

un nombre négatif pour indiquer que a < b

zéro si a == b.

un nombre positif dans le cas où a > b

Cette fonction crée, par les valeurs qu’elle retourne, l’ordre de comparaison.

Après application de cette méthode, la valeur de tab est modifiée et celle-ci est re-tournée par cette méthode.

array tab.splice(int num1,int num2,obj item1,obj item2...)

Seul les deux premiers éléments sont obligatoires.Cette méthode aura pour effet d’ajouter et/ou d’enlever des éléments à partir del’élément de rang num1 (compris).

Si num2 vaut 0, aucun élément ne sera enlevé.Si num2 a une valeur positive, cette méthode supprimera num2 à partir de l’élément derang num1.

item1 et item2 sont des arguments optionnels et seront rajoutés au tableau : item1au pour rang num1.

JavaScript - Partie 2 - page 12

Le tableau tab est directement affecté par cette méthode : la valeur renvoyée est untableau constitué par les éléments retirés du tableau (dans le cas où num2 est positif)

number tab.unshift(object obj1,object obj2,...)

Cette méthode rajoute en début du tableau tab, les différents objets passés enparamètre.Cette méthode retourne le nombre d’éléments composant ce tableau.

E. String :L’objet String appartenant au noyau de JavaScript, sert de modèle à toutes les variablesde type “chaîne de caractères”.

De même que pour les tableaux, le premier élément d’une chaîne de caractère est le caractèrede rang 0.

Constructeur :On déclare une variable de type “chaîne de caractères” de la manière suivante :

var str = new String();La variable str contiend une chaîne vide.

On peut également affecter en même temps une valeur à la variable :var str = new String("Bonjour");

Si le paramètre passé au constructeur n’est pas une chaîne de caractère, JavaScript se chargede la conversion :

var str = new String(true);

Propriété :number str.length

Cette propriété contient le nombre de caractères qui compose la chaîne str.

Méthode :string str.charAt(int num)

Cette méthode renvoie le caractère de rang num dans la chaîne str.

Number str.charCodeAt(int num)

Cette méthode renverra le numéro correspondant au caractère de rang num (relative-

JavaScript - Partie 2 - page 13

ment à la table ASCII et UTF-8).Si aucun caractère n’est présent à cette position, cette méthode renverra la valeurNaN.

string str.concat(string str1, string str2, string str3...)

Cette méthode prend au minimun un paramètre ; les autres sont optionnels.Cette méthode renvoit la nouvelle chaîne obtenue en mettant str et les chaînes passéesen arguments. La valeur de str ne sera pas modifiée. On obtient le même résultat àpartir de l’opérateur “+” :

str+=str1;

number str.indexOf(string str1, int pos)

Cette méthode cherche la première occurence de la chaîne str1 dans la chaîne str.L’argument pos est optionnel, si il est fourni, la recherche s’effectuera à partir du durang pos.Cette méthode renvoit la position de la première de ces occurences ou −1 si celle-cin’est pas trouvée.

number str.lastIndexOf(string str1, int pos)

Cette méthode recherche la dernière occurence str1 présente dans la chaîne str.L’argument pos est optionnel, si sa valeur est différente de undefined la recherchede cette occurence s’effectuera sur la sous-chaîne de str formée par les caractères derang 0 au rang pos (compris).Cette méthode renverra la position de la dernière occurence trouvée ou −1 en casd’échec.

number str.localeCompare(string str1)

Cette méthode compare la chaîne de caractères str avec str1.Cette méthode renvoit :

-1 si str est plus petit que codestr1 ;

0 si str est identique à str ;

-1 si str est plus grand que str1.

Cette méthode prend en compte l’ordre des caract‘eres défini dans le systèmed’exploitation du client.

string str.slice(int num1,int num2)

La méthode slice() retourne la partie de str comprise du caractère de rang num1

JavaScript - Partie 2 - page 14

jusqu’au caractère de rang num2 (ce dernier caractère non-compris). Voici quelquesprécisions quant à ses arguments :

Si num1 ou num2 sont positifs, les caractères désignés seront les caractères de rangcorrespondant.

Si num1 ou num2 sont négatifs, la désigniation des caractères se fera à partir de la finde la chaîne : -1 désigne le dernier caractère, -2 l’avant dernier. . .

Si l’argument num2 n’est pas fourni ou a une valeur undefined, la valeur par défautsera la longueur de la chaîne (allant ainsi jusqu’au bout de la chaîne).

array str.split(expreg exp, int num)

Cette méthode utilise l’expression rationnelle exp, comme séparateur, pour découperla chaîne str en plusieurs parties.Elle renverra ces différentes parties dans un tableau.L’argument num est optionnel et permet de limiter le nombre de parties retournéesdans le tableau de sortie.

Une chaîne de caractère peut être considérée comme une expression rationnelle: plussimplement str.split(",") retourne dans un tableau la chaîne str découpée àchaque emplacement d’une virgule.

string str.substr(int num1, int num2)

Cette méthode renvoit la sous-chaîne de str commençant au caractère de rang num1et ayant une longueur de num2.Si num1 est négatif, le caractère de départ est identifié à partir de la fin de la chaîne(-1 représente le dernier caractère, -2 l’avant dernier. . . ).Une valeur nulle ou négative de num2 renverra la chaîne vide.

string str.substring(int num1,int num2)

Cette méthode retourne la sous-chaîne de str comprise entre le caractère de rangnum1 (compris) et de rang num2 (non-compris).

Voici quelques remarques quant aux valeurs des arguments :Si num1 a pour valeur undefined, il sera remplacé par 0.Si num2 a pour valeur undefined, il sera remplacé par la longueur de la chaîne.

Si un des arguments est négatif ou a une valeur de NaN, il sera remplacé par 0.

Si num1>num2, alors ses deux arguments seront intervertis.

JavaScript - Partie 2 - page 15

string str.toLowerCase()

Cette méthode retourne la chaîne str où tous ces caractères ont été transformés enminuscule.

string str.toUpperCase()

Cette méthode retournera la chaîne str où tous ces caractères ont été transformés enmajuscule.

string str.toLocaleUpperCase(string str)

Cette méthode est identique à toUpperCase, elle permet d’adapter son fonction-nement au particularité régionale du client : si les règles sont différentes des règles decasses définies par Unicode (langue turque par exemple).

string str.toLocaleLowerCase(string str)

Cette méthode est identique à toLowerCase, elle permet d’adapter son fonction-nement au particularité régionale du client.

Les méthodes suivantes utilisent les expressions régulières. Un chapitre est prévu à cet effet; reportez vous à celui-ci pour de plus ample information. Seul sera énoncé ici les méthodesdes objets de type String utilisant en argument des expressions rationnelles :

array str.match(expreg exp)

La méthode match() recherche l’expression régulière exp dans la chaîne str. Elleretournera, dans un tableau, la ou les occurences (dans le cas d’une expression globale)de l’expression régulière présentes dans str.Si aucune occurence n’est pas trouvée, cette méthode renvoit la valeur null

string str.replace(expreg exp,string str2)

Cette méthode cherche dans str la première ou toutes les parties de str (dépendantsi exp est définie avec le drapeau “g”) validant l’expression exp et retournera unenouvelle chaîne où toutes ces occurences auront été remplacées par str2.

Il est possible de contrôler la valeur de str2 en fonction de l’occurence de exp trouvéedans str à l’aide des séquences de remplacement suivante :

JavaScript - Partie 2 - page 16

Séquence Chaîne de remplacement$$ $$& la partie validant l’expression exp$´ La partie de str suivant la partie

validant exp$` La partie de str suivant la partie

validant exp$n La nième partie validant exp si elle

existe (sinon représente la chaînevide) où n est un entier à unchiffre.

$nn La nnième partie validant exp sielle existe (sinon représente lachaîne vide) où n est un entier àdeux chiffres.

Une autre forme de cette méthode est également possible :str.replace(expreg exp,function fct)

La fonction fct() recevra un argument qui est l’occurence de str vérifiant exp etretournera pour valeur la chaîne de caractères de remplacement.

number str.search(expreg exp)

Cette méthode cherche la première sous-chaîne de str satisfaisant l’expressionrégulière exp et renvoit le rang du premier caractère de cette sous-chaîne.Si aucune occurence de exp n’est trouvée, cette méthode renverra -1.

F.Boolean :L’algèbre de Boole (mathématicien britannique du XIXe siècle) est l’utilisation de techniquesalgébriques sur un ensemble à deux valeurs : ces deux valeurs représentées souvent par 0 et 1représentent le status “vrai” et “faux”.

JavaScript propose l’objet Boolean pour représenter cet ensemble. Cet objet peut prendredeux valeurs false et true. Cet objet ne propose :

pour propriété : que sa valeur qui le caractérise.

pour méthode : que celles héritées de l’objet Object, c’est à dire :toString() valueOf()

On manipulera cet objet principalement à l’aide des opérateurs logiques lors de l’utilisationde structure de contôles.

JavaScript - Partie 2 - page 17

G.Number :L’objet Number représente le modèle de tous les nombres en JavaScript.

Propriété :Les propriétés suivantes ne font pas parties du prototype de l’objet Number : autrement dit,elles n’appartiennent qu’à l’objet Number lui-même et pas à ses instances.

Number.MAX_VALUE

Cette propriété a pour valeur 1,7976931348623157×10308. C’est la plus grande valeuracceptée par JavaScript.

Number.MIN_VALUE

La valeur de cette propriété est 5×10−324 : la plus petite valeur numérique deJavaScript.

Number.NaN

Le résultat retourné est NaN

Number.NEGATIVE_INFINITY

Le résultat retourné est -Infinity représentant la valeur −∞.

Number.POSITIVE_INFINITY

Le résultat retourné est +Infinity représentant la valeur +∞.

Méthode :num représente un objet de type number

string num.toString(int num2)

num2 est un entier compris entre 2 et 36.Cette méthode renvoie une chaîne de caractères représentant la valeur num dans labase num2.L’argument num2 est optionnel, s’il n’est pas précisé la valeur 10 sera utilisée (basedécimale).

number num.toFixed(int num2)

num2 est un nombre entier compris entre 0 et 20.

JavaScript - Partie 2 - page 18

Cette méthode retourne une chaîne de caractères représentant num sans utiliser lanotation exponentielle avec exactement num2 chiffres après la virgule.Dans le cas, où num est plus grand que 2×1021 (ne pouvant pas alors représenter cenombre sans utiliser la notation exponentielle), cette méthode appelle directementtoString().

string num.toExponential(int num2)

num2 est optionnel et représente un entier compris entre 0 et 20.Cette méthode renvoie l’écriture scientifique du nombre num avec num2 chiffres aprèsla virgules.

string num.toPrecision(int num2)

num2 est optionnel et représente un entier compris entre 1 et 21.Cette méthode retourne une chaîne de caractère représentant la valeur num avec num2chiffres significatifs ; la méthode passe en écriture scientifique si nécessaire.

H.Date :Beaucoup de systèmes informatiques, dont JavaScript, mesure le temps en millisecondes enprenant comme date de référence le 1er janvier 1970 en heure UTC. Ainsi,

Le 1er janvier 1970 est repéré par le nombre 0.

Le 2 Janvier 1970 est associé à :24×3600×1000 = 86 400 000

Le 19 Mars 2008 à minuit a une date informatique de :1 211 097 600 000

L’heure UTC (temps universel coordonné) est une échelle de temps utilisé par un grand nombrede pays prenant en compte les variations de la rotation de la terre sur elle-même alors quel’heure atomique ne subit aucune influence. Elle remplace l’heure GMT.

Dans les méthodes présentées ci-dessous, pour la plupart, il existe une version prenant encompte les changements locals de l’heure (heure d’été. . . ) et une autre donnant l’heure UTCsans prise en compte du système d’exploitation du client.

La plupart des méthodes présentées dans ce chapitre utilisent le même type d’arguments. Onutilisera pour une identification plus rapide les notations suivantes :

a représente l’année ;

m représente le mois et peut prendre une valeur de 0 à 11 ;

j représente le jours et peut prendre une valeur de 1 à 31 ;JavaScript - Partie 2 - page 19

h représente l’heure et peut prendre une valeur de 0 à 23 ;

m représente les minutes et peut prendre une valeur de 0 à 59 ;

s représente les secondes et peut prendre une valeur de 0 à 59 ;

ms représente les milli-secondes et peut prendre une valeur de 0 à 999 ;

Si une valeur en dehors de l’intervalle précisé est fournie, alors les valeurs adjacentes serontinfluencées :

Si h a une valeur de 26, alors j sera incrémenté d’un et h aura la valeur considérée de 2.

Si h a une valeur de -1, alors j représentera le jour précédent et h aura la valeur 23.

Constructeur :date new Date(int a,int m,int j,int h,int m,int s,int m)

L’objet retourné est la date représentée par les arguments passés au constructeur(relativement au système local).Seul les trois premiers arguments sont obligatoires, les autres seront remplacés par 0en cas d’abscence. Par exemple, le code :

var a=new Date(2008,08,22)déclare et affecte à la variable a, la date du 22 Septembre 2008 à minuit précise.

date new Date(int num)

L’objet retourné par le constructeur sera la date obtenue num milli-secondes après le1er Janvier 1970.Si num n’est pas fourni alors la date renvoyée est la date actuelle du système du client.

date new Date(string str)

Le constructeur renverra la date correspondant à la chaîne str.La chaîne doit pouvoir être interprêtée par la méthode Date.parse().

Méthode :Les trois méthodes ci-dessous ne font pas partie des objets instanciés.Elles n’appartiennent qu’à l’objet Date.

number Date.parse(string str)

str représente, pour JavaScript, une date ; en voici deux exemples :"Wed Mar 19 2008"

"1 January 2005 00:00:01 UTC"

JavaScript - Partie 2 - page 20

Cette méthode transforme la chaîne de caractère passée en argument en nombre entierreprésentant cette date (le nombre de milli-secondes écoulées depuis le 1er septembre1970).La valeur NaN sera renvoyée si str ne pourra pas être interprêté comme une date.

number Date.UTC(int a,int m,int j,int h,int m,int s)

La méthode Date.UTC() retourne le nombre de milli-secondes caractérisant la datefournie en arguments dans le système UTC universel de temps.Tous les arguments sont optionnels sauf a et m, les arguments non-fournis sont rem-placés par 0.

La suite des méthodes présentées appartiennent aux instances de l’objet Date.

string date.toString()

Cette méthode renvoie une chaîne de caractères, lisible humainement, représentant ladate de la variable date.

La méthode date.toLocaleString() renvoie une chaîne de caractères en prenantcompte du système d’exploitation du client (notamment la langue, l’écriture d’unedate. . . )

La méthode date.toUTCString() renvoie une chaîne de caractères représentant datedans l’échelle de temps UTC.

string date.toDateString()

Identique à toString(), mais la chaîne retournée ne contient que la date (jour, mois,année) représentant date.

A noter la m{ethode toLocaleDateString() renvoyant ces informations en tenantcompte du système du client.

string date.toTimeString()

Identique à toString(), mais la chaîne retournée ne contient que l’heure expriméepar date.

La méthode toLocaleTimeString() prend en compte les spécifications locales dusystème d’exploitation du client.

int date.valueOf()

Cette méthode renvoie le nombre entier caractérisant date.

JavaScript - Partie 2 - page 21

Rappelons que ce nombre représente le nombre de milli-secondes écoulés depuis le 1er

janvier 1970.

int date.getTime()

Identique à valueOf() mais renvoie une erreur dans le cas où date n’est pas de typeDate.

int date.getFullYear()

Cette méthode renvoie l’année représentée par date sur quatre chiffres.

La méthode date.getUTCFullYear() renvoie l’année représentée par date dansl’échelle de temps UTC

int date.getMonth()

Cette méthode renvoie le mois, de 0 à 11, représentée par date.

La méthode date.getUTCMonth() utilisant l’échelle de temps UTC

int date.getDate()

Cette méthode renvoie le jour du mois (de 1 à 31) contenu dans la date date en heurelocale.date.getUTCDate() est équivalente mais utilisera l’échelle de temps UTC.

int date.getDay()

Cette méthode renvoie le jour de la semaine exprimée par date sous la forme d’unnombre entier de 0 à 6 où 0 représente le dimande.

Pour utiliser l’échelle UTC, on utilise la méthode date.getUTCDay().

int date.getHours()

Cette méthode retourne l’heure exprimée par date : un entier de 0 à 23.

La méthode getUTCHours() utilise l’échelle de temps UTC.

int date.getMinutes()

Cette méthode renvoie les minutes exprimées dans la date date : un entier comprisentre 0 et 59.

Pour l’échelle de temps UTC, utiliser la méthode date.getUTCMinutes().

JavaScript - Partie 2 - page 22

int date.getSeconds()

Cette méthode renvoie les secondes exprimées dans date : entier compris entre 0 et59.

Pour l’échelle de temps UTC, utiliser date.getUTCSeconds()

int date.getMilliseconds()

Cette méthode renvoie les millisecondes exprimées dans date : entier compris entre0 et 999.

Pour l’échelle de temps UTC, utiliser date.getUTCMilliseconds().

int date.getTimezoneOffset()

Le résultat retourné est la différence, exprimée en minutes, entre l’heure locale etl’heure UTC.

number date.setTime(date date2)

Cette méthode affecte à la variable date la valeur date2 et renvoie l’entier carac-térisant la nouvelle valeur de date (c’est à dire date2.valueOf()).

Les méthode ci-dessous permettent de modifier une partie d’une date : son nombre de minutes,de secondes, le jour du mois. . .Attention de prendre en compte le dépassement de l’intervalle de valeur pour chacune desvaleurs d’une date : ceci aura pour effet de modifier les autres valeurs adjacentes de la date(voir note en début de paragraphe.)

date date.setMilliseconds(int ms)

ms est un entier.Cette méthode fixe le nombre de millisecondes exprimées dans date à ms et renvoiel’entier représentant la nouvelle valeur de date.

La méthode setUTCMillisecond() permet d’utiliser l’échelle de temps UTC.

date date.setSeconds(int s,int ms)

Seul s est obligatoire.Cette méthode modife le nombre de secondes exprimées par date. Le résultat retournésera l’entier représentant la nouvelle valeur de date.

date.setUTCSeconds() permet d’utiliser l’échelle de temps UTC.

JavaScript - Partie 2 - page 23

date date.setMinutes(int min,int s,int ms)

Seul min est obligatoire.Cette méthode modifie le nombre de minutes exprimées par date et retourne l’entierreprésentant cette nouvelle valeur.

La méthode setUTCMinutes() utilise l’échelle de temps UTC.

date date.setHours(int h,int min,int s,int ms)

Seul h est obligatoire.Cette méthode modifie le nombre d’heures exprimées par date et elle retourne l’entiercaractérisant cette nouvelle valeur.

La méthode date.setUTCHours() utilise l’échelle de temps UTC.

date date.setDate(int j)

Cette méthode modifie le jour du mois de date, mais ne modifiera pas les heures,minutes. . . .Elle renvoie l’entier caractérisant la nouvelle valeur de date

La méthode date.setUTCDate() utilise, quant à elle, l’échelle de temps UTC.

date date.setMonth(int m,int j)

Seul m est obligatoire.Cette méthode modifie le mois exprimé par date et retourne l’entier caractérisant lanouvelle valeur de date.

La méthode date.setUTCMonth() utilise l’échelle de temps UTC.

date date.setFullYear(int a,int m,int j)

Seul annee est obligatoire.Cette méthode modifie l’année de date et renvoit l’entier représentant date.

date.setUTCFullYear() utilise l’échelle de temps UTC.

I. RegExp :

Les expressions régulières (également appelées expressions rationnelles) sont des outils présents,actuellement, dans tous les langages de programmation. Ils permettent d’explorer une chaînede caractères à la recherche d’un motif et non pas à la recherche d’une sous-chaîne précise :

rechercher dix chiffres consécutifs dans une chaîne de caractère permet d’extraire tous les

JavaScript - Partie 2 - page 24

numéros de téléphone de celle-ci ;

un mail suit des règles syntaxiques : les expressions régulières permettent de vérifier si unechaîne de caractères représente une adresse électronique.

Nous avons vu au chapitre sur les chaînes de caractères, les méthodes str.match(),str.replace(), str.search() qui prennent en arguments des expressions réguliGlignères. L’expression régulière peut se réduire à une chaîne de caractères au quel cas cettechaîne sera considérer comme une expression régulière ayant les caractéristiques suivantes:

Cette expression représente exactement la chaîne de caractères ;

Elle est sensible à la casse ;

La recherche sera non-globale (voir plus loin)

Une expression régulière est composée de deux parties :Le motif représentant “la forme” de la sous-chaîne recherchée.

Le drapeau exprime le comportement de l’expression régulière et du type de rechercheassociée : sensible à la casse ou non, recherchant la première occurence du motif ou toutesles occurences. . .

Les motifs :

Pour exprimer un motif, certains caractères (∧, $, *, . . . ) sont utilisés pour représenter uneposition spéciale dans la chaîne de caractère. Des caractères d’échappement seront utiliséspour les intégrer au motif.

Marquer le début et fin de chaîne :Le caractère ∧ permet d’indiquer le début de la chaîne de caractères.

Le signe dollar $ indique la fin de la chaîne de caractère

abc Ce motif valide les chaînes de caractères contenant la sous-chaîneabc

ˆabc Valide les chaînes començant par a suivi de bc

abc$ Valide les chaînes de caractères finissant par c juste précédée parab

ˆabc$ Valide les chaînes de caractères commençant et finissant par abc

Indiquer la répétition de caractères :

Les expressions régulières nous permettent de préciser combien de fois un caractère (nousverrons plus tard comment indiquer un groupe de caractères) doit se répéter dans une chaîne

JavaScript - Partie 2 - page 25

de caractères.

JavaScript - Partie 2 - page 26

abc* Valide les chaînes contenant la sous-chaîne ab suivie de zéro ouplusieurs fois le caractère c.

abc? Valide une chaîne contenant la sous-chaîne ab suivie de zéro oud’une seule fois le caractère c.

abc+ Valide une chaîne contenant la sous-chaîne ab suivie d’une ouplusieurs fois le caractère c.

abc{2} Valide une chaîne contenant la sous-chaîne ab suivie d’exactementdeux caractères c : c’est à dire contenant abcc.

abc{2,} Valide une chaîne contenant la sous-chaîne ab suivie de deux ouplusieurs caractères c.

abc{2,5} Valide une chaîne contenant la sous-chaîne ab suivie de deux à cinqcaractères c.

Le choix à l’alternative :

Le caractère | représente l’opérateur logique OU :

(ab|cd) Désigne les chaîne de caractères contenant la séquence ab ou cd

Représenter une séquence de caractères :

Les parenthèses permettent de regrouper un ou plusieurs caractères :

ab(cd){3} Désigne la chaîne de caractères qui contient la séquence ab suividirectement de trois fois la séquence cd

Capturer des parties du motifs :

La méthode exec() permet de récupérer les différentes parties d’une chaîne de caractèresvérifiant le motif ou une partie du motif. Pour cela, lors de la définition du motif, on entoureles parties qu’on souhaite capturer à l’aide de parenthèses.

Si on souhaite représenter dans le motif une séquence de caractères, mais que celle-ci ne doitpas être capturée par la méthode exec, il faut respecter la séquence suivante :

(?:xy) Ceci représente la séquence xy mais ne sera pas capturé par laméthode exec()

La présence conditionnelle :

Les parenthèses peuvent également servir à exprimer la condition qu’une séquence est suivieou non par une autre séquence :

JavaScript - Partie 2 - page 27

x(?=y) Valide toute chaîne contenant x si celui-ci est directement suivi dey

x(?!=y) Valide toute chaîne contenant x si celui-ci n’est pas suivi de y

Le point

Le point “.” représente tous les caractères sauf ceux représentant les sauts de lignes : \n, \r,\u2028, \u2029.

ab.$ Valide les chaînes de caractères se terminant par ab suivi d’untroisième caracère quelconque (autre qu’un saut de ligne).

On utilisera [backslashs\S] pour représenter tous les caractères.

Les listes de caractères :

Les crochets permettent de représenter un caractère de la chaîne ayant pour valeur une “plage”ou un ensemble de caractères.

[-bc?] Représente dans une expression régulière au moins un des caractèressuivants : “-”, “b” ,“c” ou “?”.

[a-z] Représente toutes lettres en minuscules.

[a-g] Représente toutes les lettres en minuscules comprises entre a et gcompris.

[0-9] Représente n’importe quel chiffre.

[a-zA-Z0-9] Représente n’importe quel caractère alpha-numérique.

“-” a une valeur différente s’il se trouve en début ou fin des crochets ou entre deuxcaractères : il définit alors un intervalle de lettres.

Une liste commeçant par ∧ indique une négation des lettres acceptés :

[ˆ0-9] représente tous les caractères non-numériques

[ˆa-z] représente tous caractères sauf les lettres de l’aphabet enminuscules.

Les caractères spéciaux :

JavaScript - Partie 2 - page 28

\b Représente un caractère d’espacement tel qu’un espace, une tabu-lation, un saut de ligne. . .Ainsi, l’expression régulière \bch validera les chaînes "charme","bonjour\rcharles" mais pas "beach".

\B A l’inverse, ce caractère spécial représente tous les caractères autresque ceux d’espacements.

\d Désigne un caractère numérique décimal.\d{5} est équivalent à [0-9]{5}

Cette expression représente un code postal.

\ Désigne tous les caractères qui ne sont pas des chiffres décimaux.

\f Désigne un saut de page.

\n Désigne un saut de ligne.

\r Désigne un retour de chariot

\s Désigne tous les caractères blancs : espace, tabulation. . .

\S A l’opposé désigne tous les caractères non-blancs.

\t Désigne une tabulation horizontale

\v Désigne une tabulation verticale

\w Désigne tous les caractères alphanumériques et le caractère _.\w est équivalent à [a-zA-Z0-9_]

\W Désigne tous les caractères non-alphanumériques.\W est équivalent à [ˆa-zA-Z0-9_]

\oXXX représente le nombre XXX écrit en base octale.

\xXXX Représente le nombre XXX écrit en base héxadécimale.

En utilisant les caractères spéciaux dans une chaîne, penser à doubler vos barres contre-oblique : elles sont utilisés dans les chaînes pour les caractères d’échappement.

Les drapeaux :

Par défaut, une expression a certains comportements :Elle différencie les caractères majuscules des miniscules.

Avec la méthode exec(), l’expression régulière ne gardera pas en mémoire les dernièresrecherches : seul la première occurence sera accessible.

JavaScript - Partie 2 - page 29

On modifie ces comportements en modifiant les drapeaux :

JavaScript - Partie 2 - page 30

g Permet en lançant successivement la méthode exec() d’obtenirtoutes les parties de la chaîne représentant le motif de l’expressionrégulière.

i Effectue une recherche sans que soit tenu compte de la différencemajuscule/minuscule des caractères de la chaîne (insensible à lacasse).

m L’expression régulière effectuera une recherche “multiligne”. Le mo-tif “∧a” cherche le caractère a en début de ligne : la chaîne "b\na"sera alors validée par cette expression régulière seulement si le dra-peau m est présent.

Les drapeaux présentés ci-dessus peuvent être ordonnées, sans souci d’ordre :gi donnera une recherche globale et insensible à la casse.

Constructeur :Voici deux méthodes pour déclarer et définir une variable expr dont le type est une expressionrégulière : une instance de la classe RegExp

A l’aide de la notation simplifiée :var expr=/motif/drapeau;

En utilisant le constructeur de la classe d’objet expreg :var expr=new RegExp("motif","drapeau");

Propriété :Toutes les propriétés suivantes, sauf la dernière, ont l’attribut ReadOnly : ainsi, une foiscréé, il est impossible de modifier le comportement d’une expression régulière. Il faut alors larecréer.

string expReg.source

La valeur retournée est une chaîne de caractère représentant le motif de l’expressionrégulière expReg.

boolean expReg.global

Cette propriété vaut true si le drapeau de expReg contient la lettre “g” et vaut falsedans le cas contraire.

boolean expReg.ignoreCase

Cette propriété vaut true si le drapeau de expReg contient la lettre “i” et vaut falsedans le cas contraire.

JavaScript - Partie 2 - page 31

boolean expReg.multiline

Cette propriété vaut true si le drapeau de expReg contient la lettre “m” et vaut falsedans le cas contraire.

number expReg.lastIndex

Dans le cas d’une recherche globale, cette propriété contiendra la position à laquellecommencera la prochaine recherche (avec la méthode exec()).

Dans le cas d’une recherche non-globale, cette propriété vaut toujours 0.

Cette propriété peut être modifiée après création de expReg permettant ainsi de mod-ifier le début de la recherche dans une chaîne.

Méthode :array expReg.exec(string chaine)

Cette méthode renvoie null si une partie de chaine n’est pas validé par expReg.Dans le cas contraire, un tableau est renvoyé. Voici sa composition :

L’élément de rang 0 est la sous-chaîne vérifiant expReg.

L’élément de rang 1 est la partie de chaine vérifiant les premières parenthèsescapturantes du motif de expReg.

Lélément de rang 2 est la partie correspondante aux secondes parenthèses cap-turantes de expReg.

Ainsi, l’expression régulière /(\d{2})-(\d{3})/ utilisée sur la chaîne "23-841" ren-verra le tableau :

Array("23-841","23","841")

Lors de sa première exécution, cette méthode s’arrêtera sur la première partie dela chaîne vérifiant le motif. Il faut que le drapeau de cette expression possède lapropriété globale et exécuter plusieurs fois cette méthode afin d’explorer toutes lesparties de chaine vérifiant l’expression (jusqu’à ce que la valeur null apparaîsse).

boolean expReg.test(string chaine)

Cette méthode renvoie true si chaine vérifie l’expression régulière expReg et renverrafalse dans le cas contraire.

L’objet RegExp possèdait des propriétés qui ont été dépréciées dans les dernières versionde JavaScript:

JavaScript - Partie 2 - page 32

global, ignoreCase, lastIndex, multiline, source sont devenus des propriétés desinstances de cet objet.

input, lastMatch, lastParen, leftContext, rightContext sont des propriétés de l’objetRegExp et ne sont plus documentés dans les dernières documentations.

La méthode compile() a, elle aussi, été abandonnée

J. Error :JavaScript permet la gestion des erreurs : plus précisemment, on peut anticiper la survenued’erreur dans le code.

Nous ne traiterons pas cette partie dans cette formation car elle est peut utilisée. Elle devientutile lorsque le client peut entrer des valeurs utilisables par le code ou lorsqu’un script estutilisé dans différentes pages.

Voici les différents types d’erreurs que nous pouvons intercepter :Toutes les erreurs : classe “error”

Les erreurs de la fonction primitive eval() : classe “EvalError”

Les erreurs de dépassement des capacités numériques : classe “RangeError”

Les erreurs de référencement invalide : classe “ReferenceError”

Les erreurs de syntaxe d’écriture : classe “SyntaxError”

Les erreurs de type d’argument fourni aux méthode et fonctions : classe “TypeError”

Voici un exemple de code permettant la gestion d’erreurs. Ce code essaye de parcourirl’élément document.images contenant toutes les images de la page.

Si le code compris dans try{...} s’exécute avec une erreur, alors la partie contenue danscatch{...} s’exécutera pour gérer l’erreur.

1 < s c r i p t >2 try{3 for( i =0; i <document.images.length + 1; i ++){4 alert(’Largeur de l \’ image numéro ’+ i +’ : ’+document.←↩

images[ i ]. width+’ p ix e l s ’);5 }6 document.writeln("Tout s’est déroulé normalement.")7 }8

9 catch ( e r r ){10 document.writeln("Une exception a eu lieu !<br >");

JavaScript - Partie 2 - page 33

11 document.writeln("Nom de l’exception : " + e r r .name+"←↩

<br >");12 document.writeln("Message d’erreur reçu : " + e r r .←↩

message+"<br >");13 }14

15 finally{16 document.writeln("<p>Cette partie s’exécute toujours←↩

</p>");17 }18

19 document.writeln("Fin du script");20 </ s c r i p t >

K.Math :L’objet Math a pour propriétés la plupart des constantes importantes mathématiques et sesméthodes sont les fonctions mathématiques usuelles.

Cet objet ne possède pas de constructeur : il n’est pas possible de créer une copie de l’objetMath (une instance de Math). Ainsi, on utilise directement l’objet Math.

Propriété :number Math.E

Le résultat retourné est le nombre e qui est la base du l’exponenetiel népérien

LN10 Math.LN10

Le résultat retourné est la valeur du logarithme népérien de 10.

number Math.LN2

Le résultat retourné est la valeur du logarithme népérien de 2

number Math.LOG2E

Le résultat retourné est la valeur de l’image de e par le logarithme de base 2.

number Math.LOG10E

Le résultat retourné est la valeur de l’image de e par le logarithme de base 10

JavaScript - Partie 2 - page 34

number Math.PI

Le résultat retourné est la valeur de π.

number Math.SQRT1_2

Le résultat retourné est la racine carré de1

2.

number Math.SQRT2

Le résultat retourné est la racine carré de 2.

Méthode :number Math.abs(number x)

Le résultat retourné est la valeur absolue du nombre x.

number Math.acos(number x)

Le résultat retourné est la valeur du cosinus inverse de x. Il sera retourné un nombrecompris entre 0 et π

number Math.asin(number x)

Le résultat retourné est la valeur du sinus invers de x. Il sera retourné un nombrecompris entre −π

2et

π

2

number Math.atan(number x)

Le résultat retourné est la valeur de la tangente inverse de x. Il sera retouné unnombre compris entre −π

2et

π

2

number Math.atan2(number y,number x)

Le résultat retourné est sera la tangente inverse du quotienty

xet sera compris entre

−π et π. Le signe du résultat dépendra du quadran où se trouve le point de coordonné( x ; y )

number Math.ceil(number x)

Le résultat retourné sera l’entier supérieur et le plus proche de x (c’est à dire le pluspetit des entiers supérieur à x).

JavaScript - Partie 2 - page 35

number Math.cos(number x)

Le résultat retourné est le cosinus du nombre x

number Math.exp(number x)

Le résultat retourné est l’image de x par la fonction exponentielle.

number Math.floor(number x)

Le résultat retourné est l’entier inférieur et le plus proche de x (c’est à dire le plusgrand des entiers inférieurs à x)

number Math.log(number x)

Le résultat retourné est le logarithme népérien de x.

number Math.max(number x1,number x2,...)

Le résultat retourné est le plus grand des nombres x1, x2, . . . .Si aucun argument n’est fourni, la méthode retournera -Infinity

number Math.min(number x1,number x2,...)

Le résultat retourné est le plus petit des nombres x1,x2,. . . .Si aucun argument n’est fourni, la méthode retournera Infinity

number Math.pow(number x,number y)

Le résultat retourné sera la valeur de x à la puissance d’exposant y : le résultat de xy

number Math.random()

Le résultat retourné est un nombre plus grand ou égal à 0 mais strictement plus petitque 1.

number Math.round(number x)

Le résultat retourné est le nombre entier le plus proche de x.Pour 1,5, cette méthode retournera 2 et avec l’argument −1,5 renverra −1.

number Math.sin(number x)

Le résultat retourné est le sinus de x.

number Math.sqrt(number x)

JavaScript - Partie 2 - page 36

Le résultat retourné est la racine carré de x.

number Math.tan(number x)

Le résultat retourné est la tangente de x.

JavaScript - Partie 2 - page 37

Index

abs, 35acos, 35apply, 7asin, 35atan, 35atan2, 35

call, 8ceil, 35charAt, 13charCodeAt, 13concat, 11, 14constructor, 5cos, 35

Date, 20decodeURI, 5

E, 34encodeURI, 5eval, 4exec, 32exp, 36

floor, 36

getDate, 22getDay, 22getFullYear, 22getHours, 22getMilliseconds, 23getMinutes, 22getMonth, 22getSeconds, 22getTime, 22getTimezoneOffset, 23global, 31

hasOwnProperty, 6

ignoreCase, 31indexOf, 14Infinity, 4isFinite, 4isNaN, 4isPrototype, 6

join, 11

lastIndex, 32lastIndexOf, 14length, 7, 10, 13LN2, 34localeCompare, 14log, 36LOG10E, 34LOG2E, 34

match, 16max, 36MAX_VALUE, 18min, 36MIN_VALUE, 18multiline, 32

NaN, 4Nan, 18NEGATIVE_INFINITY, 18number, 34

parse, 20parseFloat, 4parseInt, 4PI, 34pop, 11

JavaScript - Partie 2 - page 38

POSITIVE_INFINITY, 18pow, 36propertyIsEnumerable, 6push, 11

random, 36replace, 16reverse, 11round, 36

search, 17setDate, 24setFullYear, 24setHours, 24setMillliseconds, 23setMinutes, 23setMonth, 24setSeconds, 23setTime, 23shift, 11sin, 36slice, 11, 14sort, 12source, 31splice, 12split, 15sqrt, 36SQRT1_2, 35SQRT2, 35substr, 15substring, 15

tan, 37test, 32toDateString, 21toExponential, 19toFixed, 18toLocaleLowerCase, 16toLocaleString, 6, 21toLocaleUppercase, 16toLowerCase, 15

toPrecision, 19toString, 5, 18, 21toTimeString, 21toUpperCase, 16toUTCString, 21

undefined, 4unshift, 13UTC, 21

valueOf, 6, 21

JavaScript - Partie 2 - page 39