ABCSITE

INFORMATIQUE

 
 

 JavaScript 

 

 

 

IV- LES CLASSES PRÉDÉFINIES DE JAVASCRIPT

1. Généralités sur les objets en JS

· JS n'est pas un vrai langage orienté-objet. Des concepts primordiaux ne sont pas implémentés, notamment l'héritage. Mais il peut constituer une introduction à la syntaxe objet.
Dans le présent chapitre, nous prendrons connaissance de quelques classes de données prédéfinies.
Ensuite, nous étudierons les objets du navigateur, puis enfin nous apprendrons comment définir nos propres classes d'objets en JavaScript.

· Une classe d'objets est un ensemble d'informations regroupés sous un même nom, qui décrivent la structure et le comportement commun de ces objets.
· Pour définir une classe, il faut préciser :

      1. les propriétés (ou attributs) qui décrivent ses caractéristiques
          une propriété est une variable qui est attachée à un type d'objets, et qui contient           une de ses caractéristiques

      2. les méthodes (procédures ou fonctions) qui décrivent ses comportements et des          actions.
         Une méthode est une fonction qui ne s'applique qu'à une classe d'objet.

· Construction des objets

Pour obtenir un objet, appelé instance de la classe, on utilise une fonction spéciale appelée constructeur et qui porte le nom de la classe.
Un objet est alors créé par l'instruction :
Var objet = new Classe() ;

· Utilisation des objets

Propriétés et méthodes constitutives d'une classe ne sont alors applicables qu'à un objet de cette classe.
Objet.propriété
Objet.méthode()

2. Classes d'objets prédéfinis

Elles sont définies dans JS, accompagnées de données (propriétés) et de fonctions (méthodes) utilisables directement par le programmeur.
Nous allons parcourir ces 4 classes d'objets : Math, String, Date et Image, afin de savoir construire des objets de ces classes et utiliser leurs propriétés et leurs méthodes.

a) Math :

Les fonctions mathématiques usuelles doivent être préfixées par le nom de l'objet Math, desquelles elles dépendent. Ce sont les " méthodes " de calcul de l'objet Math.
Par exemple :

· Math.PI désigne une propriété de l'objet Math : le nombre PI
· Math.sin(1.50) appelle une méthode de l'objet Math et calcule sin (1.50), l'angle étant exprimé en radians.

Pour alléger les notations, on peut " factoriser " le préfixe Math dans une séquence de calcul mathématique, comme dans l'exemple suivant :

<script>

r=10;

with (Math) {

s = PI * pow(r , 2);

theta = PI / 3;

x = r * cos (theta);

y = r * sin (theta);

document.write("PI = ", PI, "<br>");

document.write(" s = " , s, " <br> Coordonnées de M : x = ",x, "    y = ",y) }

</script>


En voici l'exécution :

PI = 3.141592653589793

 s = 314.1592653589793

Coordonnées de M : x = 5.0000000000000001 y = 8.66025403784485



Liste des principales méthodes :

· Math.sqrt(), racine carrée
· Math.log(), Math.exp(), Math.abs(), Math.cos(), Math.sin(), Math.tan()
· Math.floor(), Math.ceil() entier immédiatement inférieur/supérieur
· Math.pow(base, exposant), fct puissance, où base et exposant sont des expressions numériques quelconques évaluables
· Math.max(), Math.min()
· Math.random(), nombre " réel " choisi au hasard dans [0, 1]
· Math.round()arrondi à l'entier le plus proche.

Conversion chaîne <- -> nombre (entier ou flottant)

· Fonctions parseInt(), parseFloat() et eval() récupèrent les chaînes de caractères passées en paramètre et s'efforcent de les évaluer numériquement : (voir le paragraphe suivant String).
· isNaN() évalue l'argument pour déterminer s'il s'agit d'un nombre (" NaN " = Not a Number). Elle retourne alors TRUE ou FALSE.

Exemple d'utilisation pour contrôler la saisie d'un entier :

<SCRIPT LANGAGE = ''JavaScript1.1''>

function testnum(chnum) {

num=parseInt(chnum);

if (isNaN(num))

alert(chnum+'n\'est pas un entier !');

}

</SCRIPT>


b) String :

Déclaration :

Var chaîne = "<B>Bonjour!</B>";

document.write (" La longueur de la chaine " , chaine, " est : ",

 chaine.length, ". Pourquoi ?<br> ") ;

 

La longueur de la chaîne Bonjour ! est : 16. Pourquoi ?



Var chaine = " <B> Bonjour !</B> " crée une variable nommée chaine et lui attribue :

· Le type String
· La valeur " Bonjour ! " avec l'attribut gras

Propriétés :

· La valeur peut donc être composée d'une suite de caractères quelconques, y compris des balises HTML.
· Des caractères spéciaux peuvent aussi être insérés dans les chaînes : \b (retour arrière), \f (saut de page), \n(nouvelle ligne), \r (Entrée), \t(tabulation) ; \'Pour une apostrophe
· L'unique propriété length permet d'obtenir la longueur de la chaîne.
· L'opération + concatène (mise à la suite) 2 chaînes pour en former une nouvelle

Var info = '\"informatique\" ';

Var monOption = "1'option " + info;

document.write(" J\'enseigne encore " + monOption) ;


J'enseigne encore l'option "informatique"


Quelques fonctions (ou méthodes)

· eval() évalue numériquement une expression arithmétique fournie sous forme de chaine de caractères
· parseInt(), donne un nombre entier résultant de la conversion (si possible) d'une chaine de caractères.
· Si la conversion n'est pas possible, la valeur renvoyée est 0
· parseFloat(), donne un nombre décimal de la même façon
· La fonction toString(base) convertit l'objet (nombre généralement) en une chaine représentant le nombre écrit dans la base indiquée.

Exemple à étudier :

var a = 5 + "007";

var b = 5 + parseInt("007");

var c = 2 + parseFloat("1.1416");

var d = 255;

document.write("a = ", a," <br> b=",b,"<br> c= ", c);

for (var i=0; i<255 ; i++)

document.write("En decimal i ="+i+" s'écrit" + i.toString(16)+"")


Exécution

a = 5007

b = 12

c = 3.1416

En décimal d = 255 s'écrit ff



· chaine.toUpperCase(), pour mettre chaîne en majuscule

Exemple :

Var chaine = " Bonjour ! ";

 Chaine = chaine.toUpperCase() ;


· chaine.substring(d,I) extrait une partie de chaîne, à partir du caractère de position d+1, jusqu'à 1.

Exemple 

Var chaine = " aujourd\'hui ";

Document.write(" chaine.substring(2,6) = " , chaine.substring(2,6));


Chaine.substring(2,6) = jour


· chaine.charAt(n) donne le caractère placé en nième position (n de 0 à chaine.length-1).

Exemple :

var chaine = " informatique ";

document.write(" J'épelle : <br>");

for (i=0 ; i<chaine.length ; i++)                               J'épelle: document.write(chaine.charAt(i), "-");           i - n - f- o - r - m - a - t - i - q - u - e -


· chaine indexOf(s_ch) donne la 1ère position du caractère de chaine égal au 1er caractère des s_ch.

Exemple :

Var chaine = " informatique ";

var s_ch = "ma ";

var car = " i ";

var position = 2;

document.write ("1ère position de ", s_ch, " dans ", chaine, " est : " ,                               chaine.indexOf(s_ch), "<br> ");

document.write ("position de", car, "dans ", chaine, "à partir de la position ", position, " est : ", chaine.indexOf(car, position)"<br>");


1ère position de ma dans informatique est : 5

position de i dans informatique à partir de la position 2 est : 8


· La méthode chaine.split(séparateur)
Appliquée à un texte, elle fournit un tableau de chaînes dont les éléments sont les sous-chaînes extraites suivant le séparateur.

Exemples 

Chaine initiale : " jules.toto@mail.ac-creteil.fr "
Découpage suivant "@" :
tab_ch1[0] = " jules.toto "
tab_ch1[1] = " mail.ac-creteil.fr "
découpage suivant "." :
tab_ch1[0] = "jules"
tab_ch1[1] = " toto toto@mail "
tab_ch1[2] = " ac-creteil.fr"

c) Date :

L'objet Date permet de définir et gérer les dates et les heures
L'origine des dates a été choisie le 1er Janvier 1900 et est exprimée en millisecondes.

Construction d'un objet de type Date :
Pour construire un objet de type Date, il faut utiliser un constructeur Date() avec le mot-clé new

Variable =new Date(liste de paramètres)


Attention, les secondes et les minutes sont notées de 0 et 59, les jours de la semaine de 0 (dimanche) à 6, les jours du mois de 1 à 31, les mois de 0 (janvier) à 11, et les années sont décomptées depuis 1900.

On peut passer différents paramètres pour construire divers objets date

- Date(), pour obtenir la date et l'heure courante (connue du système)
- Date(month day, year hour :min :sec) pour obtenir par exemple : Décembre 25, 1995 13:30:00).
- Date(année, mois, jour), une suite convenable de 3 entiers, par exemple (2000, 0,1).
- Une suite de 6 entiers (année, mois, jour, heures, minutes, secondes), même exemple : 95, 11, 25, 13, 30, 00.

Méthodes :

Elles permettent d'extraire diverses informations d'un objet date

- Set….() : pour transformeer des entiers en Date
- get….() : pour transformer en date et heure des objets Date
- to..…() : pour retourner une chaîne de caractères correspondant à l'objet Date
- après les préfixes set et get,
  on peut mettre Year, Month, Date, Hours, Minutes, Seconds
  pour obtenir respectivement : nombre d'années depuis 1900, le numéro du 
  mois, le N° du jour dans le mois et les heures, minutes et secondes
- getDay donne le N° du jour de la semaine (le 0 tombe le dimanche)
- getTime() donne le nombre de millisecondes écoulées depuis le 1.1.1970, très             pratique pour calculer des intervalles entre 2 dates.

Var aujourd'hui = new Date()

Var maDate = new Date (" November 24, 1981 ");

Var jour = maDate.getDate ()      //jour vaut 24.

Document.write(" Nous étions le " , jour, " / ", 

             maDate.getMonth()+1," / ", maDate.getYear()+1900,<br>);

document.write ("Nous sommes le", aujourd'hui.getDate(), "/",              aujourd'hui.getMonth()+1, "/",aujourd'hui.getYear()+1900);  


Nous étions le 24/11/1981

Nous sommes le 8/12/3901

 
 

ABCSITE © copyright 2002