Cours - DWM-2 - 2021 (Chap 2) Syntaxe-JS
Cours - DWM-2 - 2021 (Chap 2) Syntaxe-JS
Cours - DWM-2 - 2021 (Chap 2) Syntaxe-JS
Objectifs spécifiques
Plan du chapitre
Syntaxe de base du JS
Volume horaire :
3 heures
Karim LABIDI 9
Support de Cours : Programmation Web 2
I. Généralités
Le langage JavaScript a une syntaxe qui se rapproche des langages C/C++ :
➢
Le JavaScript est sensible à la casse : la variable « A » n’est pas la même que « a ».
➢
Comme en langage C, chaque instruction se termine par un point-virgule (;).
➢
Un nombre à virgule (réel) est séparé par un point (.) et non par une virgule (12.75).
➢
Pour mettre en commentaire toute une ligne on utilise le double slach (//commentaires).
➢
Pour mettre un commentaire sur plusieurs lignes, on utilise le */ et le /*.
➢
Les niveaux d’imbrication de boucle sont indiquées avec les caractères ‘{’ et ‘}’ ;
➢
Pour que l’interpréteur JavaScript puisse reconnaître du code JavaScript, on l’insère
dans la page HTML à l’aide de la balise <script>.
II. Les variables
En JavaScript, le type d’une variable n’est pas explicité. Le type de la variable est donc
fixé en fonction de son contenu.
➢
La déclaration : consiste à donner un nom à la variable ; Le mot-clé var permet de
déclarer une ou plusieurs variables.
➢
L’affectation : consiste à donner une valeur à la variable. Après la déclaration de la variable,
il est possible de lui affecter une valeur par l'intermédiaire du signe d'égalité (=).
➢
Si une valeur est affectée à une variable sans que cette dernière ne soit déclarée, alors
JavaScript la déclare automatiquement.
Exemple:
var i, j, k; //Déclaration de i, de j et de k.
i = 1; //Affectation de i.
var prix = 0; //Déclaration et affectation de prix.
Karim LABIDI 10
Support de Cours : Programmation Web 2
Comme tout langage informatique, JS possède des opérateurs pour effectuer les calculs.
On prend dans les exemples, x=11 et y=5 ;
Karim LABIDI 11
Support de Cours : Programmation Web 2 –TI1 ISET Charguia
Les chaînes de caractères peuvent être délimitées aussi bien par le caractère « ' ' »
(apostrophe) que par le caractère « " " » (guillemets).
On peut concaténer les chaînes facilement avec l’opérateur ‘+’ (plus).
Certains caractères peuvent être insérés dans les chaînes de caractères : le retour arrière (\b), le
saut de page (\f), le saut de ligne (\n), l’entrée (\r), la tabulation (&) et l’apostrophe (\’).
On peut définir des tableaux grâce au mot clé Array. Plus qu’un mot clé, il s’agit en fait
d’un objet. Pour définir un tableau, on effectue donc une instanciation de la classe Array
(avec le mot clé new ).
Exemple:
var tab1 = new Array();
var tab2 = new Array('Jean','Michel');
var tab3 = new Array(2);
Karim LABIDI 12
Support de Cours : Programmation Web 2 –TI1 ISET Charguia
tab3[0] = 'Jean';
Karim LABIDI 12
Support de Cours : Programmation Web 2 –TI1 ISET Charguia
while (condition) {
/* instructions */
}
IV.1. Définition
C’est un groupe d’instruction prédéfini et exécuté lorsqu’il est appelé et que l’on peut
appeler plusieurs fois.
En JavaScript, il existe deux types de fonctions :
Karim LABIDI 12
Support de Cours : Programmation Web 2 –TI1 ISET Charguia
✓
les fonctions propres à JavaScript, appelées méthodes. Elles sont associées à un objet
en particulier.
✓
les fonctions que vous définissez vous-même. Ce sont celles qui nous intéressent ici.
IV.2. Déclaration
Pour déclarer ou définir une fonction, on utilise le mot-clé function. La syntaxe d'une
déclaration de fonction est la suivante :
Syntaxe :
function nom_de_la_fonction
(arguments) { code des instructions
}
Le nom d’une fonction suit les mêmes règles que celui d’une variable. Chaque nom de
fonction doit être unique dans un même script. Les parenthèses sont obligatoires même si il
n’y a pas d’arguments, puisque JavaScript reconnaît une fonction grâce à elles.
Syntaxe :
nom_de_la_fonction();
Il faut que la fonction ait été définie avant l’appel, étant donné que l’interpréteur lit le
script de haut en bas.
On peut passer plusieurs paramètres à une fonction, en séparant les paramètres par des virgules.
Syntaxe :
function nom_de_la_fonction(arg1, arg2,
arg3) { instructions
}
Karim LABIDI 15
Support de Cours : Programmation Web 2 –TI1 ISET Charguia
Exemple:
function cube(nombre) {
y = nombre*nombre*nombre;
return y; //retour de valeur
}
x = cube(5); //appel avec paramètre
document.write(x); //résultat
Une variable déclarée dans une fonction par le mot-clé var aura une portée limitée à cette
seule fonction. On l'appelle donc variable locale et ne pourra être utilisé dans le reste du script.
Exemple:
function cube(nombre) {
var c = nombre*nombre*nombre ;
}
Si la variable est déclarée sans utiliser le mot var, sa portée sera globale.
Les variables déclarées tout au début du script, en dehors et avant toutes fonctions, seront
toujours globales, qu'elles soient déclarées avec var ou de façon contextuelle.
Exemple:
var cube=1
function cube(nombre) {
var cube = nombre*nombre*nombre ;
}
Karim LABIDI 15
Support de Cours : Programmation Web 2 –TI1 ISET Charguia
IV.7.1. eval
➢
Cette fonction exécute un code JavaScript à partir d'une chaîne de caractères.
...
<SCRIPT LANGUAGE="JavaScript">
function evaluation() {
document.formulaire.calcul.value=eval(document.formulaire.saisie.value); }
</SCRIPT>
...
<FORM NAME="formulaire">
Saisissez une expression mathématique : <INPUT TYPE="text" NAME=saisie
MAXLENGTH=40 SIZE=40>
<INPUT TYPE="button" VALUE="evaluation." onClick="evaluation()">
<INPUT TYPE="text" NAME=calcul MAXLENGTH=40 SIZE=40>
</FORM>...
IV.7.2. isFinite
➢
Détermine si le paramètre est un nombre fini. Renvoie false si ce n'est pas un
nombre ou l'infini positif ou infini négatif.
isFinite(240) //retourne true
isFinite("Un nombre") //retourne false
IV.7.3. isNaN
➢
détermine si le parametre n’est pas un nombre (NaN : Not a Number).
isNaN("un nombre") //retourne true
isNaN(20) //retourne false
IV.7.4. parseFloat
➢
analyse une chaîne de caractères et retourne un nombre décimal.
➢
Si l'argument évalué n'est pas un nombre, renvoie NaN (Not a Number).
var numero="125";
var nombre=parseFloat(numero); //retourne le nombre 125
IV.7.5. parseInt
➢
analyse une chaîne de caractères et retourne un nombre entier de la base spécifiée.
➢
La base peut prendre les valeurs 16 (hexadécimal) 10 (décimal), 8 (octal), 2
(binaire).
Karim LABIDI 15
Support de Cours : Programmation Web 2 –TI1 ISET Charguia
var prix=30.75;
var arrondi = parseInt(prix, 10); //retourne 30
IV.7.6. Number
➢
convertit l'objet spécifié en valeur numérique
var jour = new Date("December 17, 1995 03:24:00"); /*converit la date en
millisecondes*/ alert (Number(jour));
IV.7.7. String
➢
convertit l'objet spécifié en chaîne de caractères
IV.7.8. Escape
➢
retourne la valeur hexadécimale à partir d'une chaîne de caractère codée en ISO-
Latin-1.
escape("!&") //retourne %21%26%
V. Exercices d’application
Exercice n°1:
Créer un document HTML contenant un script JavaScript qui permet d'entrer un prix hors
taxe puis calcule et affiche le prix TTC pour un taux de TVA de 18%.
Exercice n°2 :
Écrire un programme HTML contenant un script JavaScript qui demande trois nombres a, b et
c et qui effectue une permutation circulaire, donc rend c, a, b (la valeur de c doit être dans la
variable a, la valeur de a dans la variable b et la valeur b dans la variable c).
Exercice n°3 :
Écrire un programme HTML contenant un script JavaScript qui demande deux nombres et
rend le plus grand.
Exercice n°4 :
Écrire un programme HTML contenant un script JavaScript qui demande le nombre de notes,
puis calcule la moyenne.
Karim LABIDI 15
Support de Cours : Programmation Web 2 –TI1 ISET Charguia
Exercice n°5 :
Écrire un programme HTML contenant un script JavaScript qui affiche tous les nombres
impairs inferieurs à N après avoir demandé N.
Exercice n°6 :
Écrire un programme HTML contenant un script JavaScript faisant apparaitre les nombres
premiers compris entre 0 et 100.
Exercice n°7 :
Ecrire en JavaScript une fonction qui permet de tester si un nombre donnée est premier ou
non. (Si nombre premier la fonction retourne « true », si non retourne « false »)
Exercice n°8 :
Ecrire en JavaScript une fonction Somme et multiplie qui permet de calculer la somme et la
multiplication des entiers de 0 à n. (Écrire les deux fonctions de deux façons (sans et avec
argument)).
Exercice n°9 :
Ecrire en JavaScript une fonction qui retournera la racine quatrième de la valeur passée en
argument.
Exercice n°10 :
Ecrire une fonction qui permette de donner la factorielle d’un nombre positif de trois façon, à
l'aide d'une boucle for, boucle while puis de manière récursive.
Explication :
factorielle(n) = 1×2×3×4×...×n = n!
Est définie récursivement par 0! = 1 et lorsque n>0 par n! = n × (n-1)!
Karim LABIDI 15