• Aucun résultat trouvé

5.9 / Les opérateurs de concaténations

En plus des opérateurs de comparaison, qui peuvent être utilisés sur des valeurs de chaîne de caractères, l'opérateur d'enchaînement + permet d'enchaîner deux valeurs de chaîne de caractères ensemble, en renvoyant une autre qui est le résultat de la concaténation des deux opérande.

L'opérateur d'affectation + = peut également être utilisé pour enchaîner des chaînes de caractères. Le contenu de la variable est concaténé à l'opérande de droite.

"mon" + "programme"; //retourne "mon programme" texte = "Un programme"; texte_2 = "Javascript" texte += texte_2;

58 sur 270 04/09/2005 22:21

5.10 / L'opérateur conditionnel

L'opérateur conditionnel est le seul opérateur du langage JavaScript qui utilise trois opérandes. L'opérateur ternaire fonctionne comme une instruction if... else. Si la condition initiale renvoie true, alors la première instruction est éxécutée sinon la deuxième est activée.

Condition

?

Instruction_1

:

Instruction_2; (i < 10) ? v = true : v = false;

(jour == "Lundi")

? (document.write("Bonne reprise du travail !")) : (document.write("Bon courage !")) (Prix >= 100)

? (Diff_pos = Prix - 100)

5.11 / Delete

L'opérateur delete efface un objet, la propriété d'un objet, ou un élément à un incrément donné dans un tableau.

là où objectName est le nom d'un objet, la propriété est une propriété existante, et l'incrément est un nombre entier représentant l'emplacement d'un élément dans un tableau.

La quatrième forme est légale seulement à l'intérieur d'une instruction with, pour effacer une propriété d'un objet.

Vous pouvez utiliser l'opérateur delete pour effacer des variables déclarées implicitement mais pas celles déclarées par l'intermédiaire de var.

Si l'opération d'effacement réussit, il place la propriété ou l'élément à undefined (non défini). L'opérateur delete renvoie true si l'exécution est possible, sinon il renvoie false si l'exécution n'est pas possible.

Lors d'un effacement d'un élément d'un tableau, la longueur du tableau n'est absolument pas affectée. Par contre, les emplacement des éléments éffacés deviennent undefined et les éléments ne font plus partis du tableau.

//retourne true car objet a été défini par l'utilisateur delete objet;

montant = 0;

//retourne true car montant a été déclaré implicitement sans l'instruction var delete montant;

var i = 1;

//retourne false car i a été déclaré avec var delete i;

objet.nom = "table";

//retourne true car la propriété objet.nom a été définie par l'utilisateur delete objet.nom;

//retourne false car la propriété Math.cos(x) est prédéfinie dans Javascript delete Math.cos(x);

Tab = ["un", "deux", "trois", "quatre", "cinq"];

//retourne true et le tableau conserve une longueur de 5 delete Tab[2];

60 sur 270 04/09/2005 22:21

5.12 / In

La propriété in retourne true si la propriété indiquée est dans l'objet donnée, sinon elle retourne false.

Tab = ["un", "deux", "trois", "quatre", "cinq"];

//retourne true car la propriété 3 est bien dans l'objet Tab 3 in Tab

//retourne true car la propriété acos(x) est bien dans l'objet Math acos(x) in Math

//retourne false car le tableau ne contient pas plus de cinq cellules 6 in Tab

5.13 / Instanceof

Cette propriété retourne true si l'objet spécifié est du même type que l'opérande de droite.

En général, la propriété instanceof est utilisée lors d'un besoin de confirmation sur le type d'un objet afin d'éxécuter subséquemment une ou plusieurs instructions.

objet instanceof objet_type

/*anniversaire est du type date (année, mois, jour, heure, minute)*/ var anniversaire = new date(2000, 1, 1, 0, 0)

//retourne true puisque anniversaire est du type date anniversaire instanceof date

62 sur 270 04/09/2005 22:21

5.14 / New

L'opérateur new est utilisé pour créer une nouvelle instance ou un nouveau type d'objet défini par l'utilisateur ou de l'un des types d'objets prédéfinis, Array, Boolean, Date, Function, Image, Number, Object, Option, RegExp, ou String.

Sur le serveur, il est possible de l'utiliser avec DbPool, Lock, File, ou SendMail. nouvel_objet = new type_objet(litteral_1,...) texte = new String("Une chaîne de caractère");

5.15 / This

Cette propriété est utilisé pour faire référence à un objet courant. Ceci permet d'accéder à un objet sans passer par son identificateur.

this.nom_propriete

//dénomination complète de l'objet nom window.document.forms[0].elements[1] nom //raccourci vers l'élément nom

64 sur 270 04/09/2005 22:21

5.16 / Typeof

L'opérateur typeof renvoie une chaîne de caractères indiquant quel est le type de l'opérande. Les paranthèses sont optionnels.

typeof (opérande); var i = 1;

typeof i; //retourne number var titre="Les raisins de la colère"; typeof titre; //retourne string var jour = new Date(); typeof jour; //retourne object var choix = true;

typeof choix; //retourne boolean var cas = null;

typeof cas; //retourne object

typeof parseFloat; //retourne function

typeof Math; //retourne object (IE 5.*, NS 6.*, NS 4.78, Opera 6.*, Opera 5.* typeof Math; //retourne function NS 3.*, Opera 3.*

5.17 / La virgule

L'opérateur virgule , évalue simplement ses deux opérandes et renvoie la valeur de la deuxième. Cet opérateur est principalement utilisé à l'intérieur d'un boucle for, pour permettre à des variables multiples d'être mises à jour chaque fois par l'intermédiaire de la boucle.

Par exemple, si "Tab" est un tableau à deux dimensions avec 10 éléments de chaque côté, le code suivant utilise l'opérateur virgule pour incrémenter deux variables en même temps. Le code imprime les valeurs des éléments diagonaux dans le tableau.

for (i=O , j=9 ; i<=9 ; i++, j--) { document.write("Tab[" + i + "," + j + "]= " + Tab[i,j]) } Tab[i,j] 0 1 2 3 4 5 6 7 8 9 0 0,9 1 1,8 2 2,7 3 3,6 4 4,5 5 5,4 6 6,3 7 7,2 8 8,1 9 9,0

66 sur 270 04/09/2005 22:21

5.18 / Void

L'opérateur void indique une expression à évaluer sans renvoyer une valeur particulière si ce n'est undefined (non-définie).

En fait void accueille une opérande qui n'a aucune fonction puisque, quelque soit la valeur de cet argument, l'opérateur retournera toujour undefined.

Néanmoins, il est possible d'utiliser l'opérateur void pour spécifier une expression comme un lien hypertexte.

L'expression est évaluée mais n'est pas chargée à la place du document courant. D'autre-part, l'opérateur void permet également de vérifier si une variable a été définie.

Enfin, il peut parfois être nécessaire de retirer une valeur de retour d'une fonction, et void sans acquitte parfaitement.

void(opérande); <!-- Ce lien est inactif -->

<a href="javascript:void(0);">lien</a>

&lt;!-- Ce lien permet de soumettre un formulaire -->

<a href="javascript:void(document.form.submit())">Soumettre</a> choix = void('non'); //retourne undefined

nombre = void(8); //retourne undefined

/*La condition if permet de vérifier si la variable est définie*/ if(var1 = void(0)) {document.write("var1 n'est pas défini !")}

/*Un mot est bien affiché mais la valeur de retour de la fonction sera undefined*/ void(document.write("Un mot"));

Documents relatifs