Le Langage. JavaScript

Documents pareils
Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Programmer en JAVA. par Tama

INTRODUCTION A JAVA. Fichier en langage machine Exécutable


Java Licence Professionnelle CISII,

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

as Architecture des Systèmes d Information

Notions fondamentales du langage C# Version 1.0

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

TD3: tableaux avancées, première classe et chaînes

Introduction au langage C

Plan du cours. Historique du langage Nouveautés de Java 7

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

STAGE IREM 0- Premiers pas en Python

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Programmation Web. Madalina Croitoru IUT Montpellier

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

4. Groupement d objets

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

INF 321 : mémento de la syntaxe de Java

Claude Delannoy. 3 e édition C++

SUPPORT DE COURS. Langage C

Introduction à MATLAB R

Programmation Objet - Cours II

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Programmation en Java IUT GEII (MC-II1) 1

Structurer ses données : les tableaux. Introduction à la programmation

Sélection du contrôleur

Algorithmique et Programmation, IMA

Java Licence Professionnelle CISII,

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Cours Informatique Master STEP

Une introduction à Java

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

2. Comprendre les définitions de classes

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Premiers Pas en Programmation Objet : les Classes et les Objets

ALGORITHMIQUE ET PROGRAMMATION En C

Cours d Algorithmique et de Langage C v 3.0

Corrigé des TD 1 à 5

Génie Logiciel avec Ada. 4 février 2013

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Apprendre Java en 154 minutes

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.

Corrigé des exercices sur les références

LES TYPES DE DONNÉES DU LANGAGE PASCAL

PROGRAMMATION PAR OBJETS

Recherche dans un tableau

Introduction à l algorithmique et à la programmation M1102 CM n 3

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

TP JAVASCRIPT OMI4 TP5 SRC

Utilisation d objets : String et ArrayList

Projet de programmation (IK3) : TP n 1 Correction

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

OCL - Object Constraint Language

Cours d initiation à la programmation en C++ Johann Cuenin

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

Corrigés des premiers exercices sur les classes

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Les bases de l informatique et de la programmation. École polytechnique

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Bases de programmation. Cours 5. Structurer les données

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

COMPARAISONDESLANGAGESC, C++, JAVA ET

UE C avancé cours 1: introduction et révisions

Cours 1 : La compilation

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Document Object Model (DOM)

Initiation. àl algorithmique et à la programmation. en C

Présentation du langage et premières fonctions

V- Manipulations de nombres en binaire

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Programmation en langage C

Langage Java. Classe de première SI

Programmation C++ (débutant)/instructions for, while et do...while

Dans l'article précédent, vous avez appris

Informatique / Programmation

Cours 1: Java et les objets

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Conventions d écriture et outils de mise au point

Généralités sur le Langage Java et éléments syntaxiques.

INITIATION AU LANGAGE JAVA

AWS avancé. Surveiller votre utilisation d EC2

TP 1. Prise en main du langage Python

Principes des langages de programmation INF 321. Eric Goubault

Transcription:

Chapitre 2 : Le Langage JavaScript Le Langage JavaScript Rémy Courdier 1996-2002 - Le langage Java - Version du cours 2.6.2 1 Les types primitifs de JavaScript Types de bases Boolean (Booléen) : peut prendre les valeurs true (vrai) et false (faux) Number (Nombre) : pour tous les nombres entiers et réels String (Chaîne) : pour les chaînes de caractères, il n existe pas de type pour représenter un seul caractère Déclaration et Initialisation var itoto = 10; var bvraifaux = true; var fe = 3.00e+8, fpi = 3.14, fpi2 = 3.14 * 3.14; var a = a, nligne = \n ; var phrase = et voici javascript ; Variables et données Une variable peut contenir des données de type quelconque Le type d une variable change en même temps que celui des variables qu elles contiennent => Une variable n a pas de type prédéfini (typage faible) Rémy Courdier 1996-2002 - Le langage Java - Version du cours 2.6.2 2

Opérateurs assignement lvalue = rvalue; //@ mémoire opérateurs arithmétiques +,-, /, *, %( modulo) précédence a = x + y - 2/2 + z; Unaire, Arith., relationnelle, logique, cond., assignement opérateurs unaires x = -a; x = a * (-b); auto incrémentation ++i //(i = i + 1); i++; --i //(i = i - 1); i--; x += 4 //(x = x+4) opérateurs relationnelles generent un résultat booleén <, >, >=, ==,!= opérateurs logiques Sont utilisés avec les opérateurs relationnels Et logique (&&) Ou logique ( ) Non logique(!) (a < b) ( c == d) opérateur sur les bits AND(&) OR( ) XOR(^) NOT(~) gauche (<<), droite (>>) gauche zero extension (>>>) traite les nombres comme si il s agissait de chaînes de 32 bits. Rémy Courdier 1996-2002 - Le langage Java - Version du cours 2.6.2 3 La grammaire Tableaux simples Tableau : «Array» Variable qui permet de contenir plusieurs données au même moment. Opérateur spéciale new permet de construire un tableau var tab1 = new Array; var tab2 = new Array(5); var tab3= new Array( RC,2, EV,10); <HTML> <BODY> <SCRIPT LANGUAGE=JavaScript> /* Exemple de Création de tableaux par l operateur new en JavaScript */ // déclaration var tab = new Array(); // initialisation tab[0] = Caroline ; tab[1] = Jean-Christophe ; tab[2] = Remy ; le champ length est une variable qui donne la taille du tableau tab3.length est égale à 4 (de 0 à 3) // affichage du contenu Document.write ( tab[0]: +tab[0]+<br>); Document.write ( tab[1]: +tab[1]+<br>); Document.write ( tab[2]: +tab[2]+<br>); // modification d un élément du tableau tab[2] = RC ; </SCRIPT> </BODY> </HTML> Rémy Courdier 1996-2002 - Le langage Java - Version du cours 2.6.2 4

La grammaire Tableaux multi-dimensionnels Gestion de tableaux de tableaux Un tableau est un objet dans le langage JavaScript Les tableaux ne sont pas forcément rectangulaires // tableau multi-dimensionnels var jeuechec = new Array(); jeuechec[0] = new Array(); jeuechec[0][0] = "Tour"; jeuechec[0][1] = "Cavalier"; jeuechec[1] = new Array(); jeuechec[1][0] = "Pion"; jeuechec[1][1] = "Pion"; <HTML><HEAD><SCRIPT> function tab() { //tableau triangulaire var tri = new Array(8), i; for (i=0; i < tri.length; i++) { tri[i] = new Array (i+1); for (j=0; j < i+1; j++) { tri[i][j] = i+j; document.write("tri[" + i + "][" + j + "]=" + tri[i][j]+ " " ); document.write("<br>"); </SCRIPT></HEAD><BODY ONLOAD="tab()"></BODY></HTML> Rémy Courdier 1996-2002 - Le langage Java - Version du cours 2.6.2 5 Structures de contrôle Déclarations conditionnelles if (condition){ if (i<1) instructions; r = i * 100; [else if (condition) { else r = i * 10; instructions;] [else { // i<10? r=i*100 : r=i*10; instructions;] switch (expression) { case expression : instruction; [case expression : instruction; default : instructions;] var langage = prompt(" "); switch (langage) { Case "Java": case "Langage C": compilation = true; break; case "JavaScript" : compilation = false; Rémy Courdier 1996-2002 - Le langage Java - Version du cours 2.6.2 6

Structures de contrôle (2) Boucles Tantque while (condition) { Répéter do { while (condition); Pour for(init, condition, incrémentation) { for(index in untableau) { // Afficher les multiple de 8 < à 100 var indexboucle = 0; While (++indexboucle < 100) { // est-ce un multiple de 8? if (indexboucle % 8 == 0) document.write (indexboucle+" "); var montableau = new Array("A","B","C"); var index; for (index = 0; index<3; index++) { document.write (montableau[index]); // equivalent à : for (index in montableau) { document.write (montableau[index]); Rémy Courdier 1996-2002 - Le langage Java - Version du cours 2.6.2 7 Les fonctions Objectif Regrouper dans un bloc, un ensemble d instruction réalisant une opération «complexe» Ce bloc est identifier par un nom Il peut être invoqué (exécuté) autant de fois que nécessaire au sein d un code javascript Ceci évite de réécrire plusieurs fois un code semblable dans un programme Syntaxe Function nomdelafunction (listedarguments) { /* Liste d instructions Éventuellement l instruction return qui permet de sortir de la fonction avant la fin de la liste d instructions */ Rémy Courdier 1996-2002 - Le langage Java - Version du cours 2.6.2 8

Les fonctions (2) <html> <head> <title>. </title> <script language="javascript"> // déclaration des variables var var1; var var2; // début des fonctions function NomDeLaFonction (paramètre_1,, paramètre_i) { instruction_1; ; instruction_n; </script> </head> <body> </body> </html> Rémy Courdier 1996-2002 - Le langage Java - Version du cours 2.6.2 9 Les Objets JavaSript Objectif Regroupement d un ensemble de variables et de fonctions à l intérieur d un ensemble organisé et nommé qui pourra facilement être réutilisé Exemple Prenons les objets du monde réel : un ordinateur par exemple Comment définissons nous un ordinateur? = ensemble de propriétés { marque, processeur, RAM, Comment utilisaons nous notre ordinateur? = ensemble de fonctions {mettre sous tension, éteindre, cliquer, Utilité Il est possible de créer autant d instances d objet que l on veut avec les mêmes caratéristiques (pripriétés et fonctions) Différence avec les véritables LOO C++, Java, etc. La définition d objets dans de tels langages obéit à des règles très précises qui ne s applique pas à JavaScript qui n impose pas une grande rigueur d écriture. Pas de Polymorphisme, de sécurité d accès aux fonctions, Rémy Courdier 1996-2002 - Le langage Java - Version du cours 2.6.2 10

Les Objets (2) Création d un objet, prototype et constructeur <script Language=JavaScript> function Stagiaire(nom, experience){ // constructeur this.nom = nom; this.experience = experience; // de 1(débutant) à 5(expert) this.dernierstage = "JavaScript ; function display() { document.write(this.nom); // variable spéciale this Stagiaire.prototype.ville = quatre borne ; Stagiaire.prototype.universite = Maurice ; Stagiaire.prototype.afficher = display; var stagiaire1 = new Stagiaire( Islam, 1); var stagiaire2 = new Stagiaire( Jean, 5); Construteur d objets de type Stagiaire toujours utilisé avec le mot clé new. Il attribue automatiquement des propriétés à l objet La propriété prototype dote automatiquement tout nouvel objet d un certain nombre de propriétés stagiaire1.afficher(); document.write(stagiaire2.nom + stagiaire2.ville); </script> Créer un objet Stagiaire mémorisé dans la variable stagiaire1 Rémy Courdier 1996-2002 - Le langage Java - Version du cours 2.6.2 11 Les Objets «navigateur» utilisés par JavaScript Rémy Courdier 1996-2002 - Le langage Java - Version du cours 2.6.2 12

La grammaire Exemple d utilisation d objets du navigateur <html><head><script> function tab() { with (document) { var tri = new Array(8); var i; for (i=0; i < tri.length; i++) { write("<a HREF='http://page" + i+ ".html'> tri[" + i + "]</A> "); tri[i] = new Array (i+1); for (j=0; j < i+1; j++) { tri[i][j] = i+j; write("tri[" + i + "][" + j + "]=" + tri[i][j]+ " " ); write("<br>"); write("<br><hr><br>"); for (i in document.links) if (!isnan(i)) write("lien No " + i + " : " + document.links[i]+ "<BR>"); </script></head><body ONLOAD="tab()"></BODY></body></html> Rémy Courdier 1996-2002 - Le langage Java - Version du cours 2.6.2 13