JavaScript M. Debacker et E. Leconte. Philosophie du JavaScript.

Slides:



Advertisements
Présentations similaires
LE LANGAGE JAVASCRIPT LES FENETRES.
Advertisements

Portée des variables VBA & Excel
Transformation de documents XML
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Chapitre 3 Les Formulaires en PHP
(Classes prédéfinies – API Java)
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
1 JavaScript V0 : Nauer. 2 JavaScript Quid ? Langage de programmation lié à HTML. Code JavaScript intégré aux pages HTML. Code interprété par le navigateur.
Les fonctions de XPath et XSLT
HTML Les types de balises
Formulaire HTML Introduction. Définition de formulaire.
Programmation Web : DOM / JavaScript
Algorithme et programmation
Introduction aux Web Services Partie 1. Technologies HTML-XML
La balise <FORM>:
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Faculté I&C, Claude Petitpierre, André Maurer What is this ? (Quest ce que this ?)
Présentation de la séquence de cours sur les interactions HTML-javascript Laure Walser, 11 juin 2010.
Les instructions PHP pour l'accès à une base de données MySql
JavaScript.
Faculté I&C, Claude Petitpierre, André Maurer 1 JavaCC Java compilers compiler (version générant du Javascript)
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
FICHIERS : Définition : Algorithme général:
 Ecriture dynamique des Calques, des tableaux HTML
Le langage Javascript pour le web
Le langage Javascript pour le web et application au DHTML
Une nouvelle structure de données : les tableaux
Manipulation de formulaires en Javascript
1 PHP 1.Langage PHP 1.1. Types de base, variables et constantes 1.2. Opérateurs et expressions 1.3. Instructions 1.4. Fonctions 2.Accès aux bases de données:
IFT 6800 Atelier en Technologies d’information
COURS DE PROGRAMMATION ORIENTEE OBJET :
JavaScript PhD. Wajdi GARALI INSAT 2010
Faculté I&C, Claude Petitpierre, André Maurer JavaCC Java compilers compiler (version générant du Javascript)
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Animateur : Med HAIJOUBI
Javascript 1° PARTIE : LES BASES
TP n°3 Javascript Contrôle de formulaire
LE LANGAGE JAVASCRIPT LES TABLEAUX ET LES FONCTIONS.
Évènement Petites fonction déjà toute faites Exemple : Construction onLoad (au chargement) = "ce qui doit se passer" onLoad s’exécute toujours dans le.
1 JavaScript V0 : Nauer. 2 JavaScript Quid ? Langage de programmation lié à HTML. Code JavaScript intégré aux pages HTML. Code interprété par le navigateur.
Programmation JavaScript cours inspiré du cours de R. Vivian.
Javascript 2° PARTIE : EVENEMENTS ET OBJETS
JavaScript Nécessaire Web.
Introduction à JavaScript
La notion de type revisitée en POO
JavaScript.
Les événements Ils sont au cœur de l’interactivité des pages.
Créer des packages.
Les balises HTML et les objets JavaScript correspondants Objet document L'objet document est important dans la mesure ou il contient tous les objets du.
 Objet window, la fenêtre du navigateur
14 La gestion d’événements
Technologies web chapitre III : Le langage JavaScript
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Strings et Tableaux en Java
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
Dynamic HTML Regroupement de trois éléments : le HTML
 Formulaires HTML : traiter les entrées utilisateur
1 PHP 5 Notions fondamentales (niveau 1 – cours #2) Formation continue – Cégep de Sainte-Foy.
AJAX Jérôme CUTRONA 06:28:58 Programmation Web
Initiation au JavaScript
Function cas(uneNoteCCouCF){ laCellule.align="center"; uneNoteCCouCF=Number(uneNoteCCouCF); if(isNaN(uneNoteCCouCF)){ return "-"; } else { if(uneNoteCCouCF>=0){return.
Introduction à MathML Par Katia Larrivée UQO Le 18 mars 2004.
Le JavaScript.. Histoire Langage créé en 1995 par Brendan Eich pour la Netscape Communications Corporation. Est inspiré de nombreux langages, notamment.
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
** Flash séance 2 Action script. ** Action Script Ajoute de l’interactivité Permet de contrôler les clips  Langage de programmation orienté objet.
Flash 2 ème séance Interaction François Marliac Mickaël Moreira.
Flash MX – Séance 2 Interactions & ActionScript David Rapin Si28 P06.
Dreamweaver le retour Avec Les Formulaires Les Calques
1 Programmation Web : DOM / JavaScript. 2 DOM = Document Object Model  API (Application Programming Interface) pour la manipulation de HTML / XML  Définit.
Dreamweaver 2 Feuilles de Style CSS Formulaires Calques Comportements
Transcription de la présentation:

JavaScript M. Debacker et E. Leconte

Philosophie du JavaScript

Unobtrusive JavaScript Pour réaliser du Javascript "discret", il faut : séparer le JavaScript du HTML : fichiers.js extérieurs gestion des événements dans les.js pas dans le html que le contenu de la page reste disponible même si JavaScript n'est pas supporté ou désactivé. que le JavaScript ne réduise pas l'accessibilité (par exemple pour des handicapés) à la page voir

Le JavaScript coté client

Interaction avec le browser JavaScript vous permet datteindre aisément les divers éléments de votre page. Lobjet window désigne la fenêtre ou le frame courant dans le browser. Ses propriétés principales sont document : la page contenue location : ladresse affichée history : lhistorique des pages visitées navigator : opener : la fenêtre qui a ouvert celle-ci status : la barre de statut frames[] : les frames la composant parent : la fenêtre parent si window est un frame … Utilisez. pour y accéder : window.document window est le défaut : document

Accès aux éléments Nom : Prénom : <input name="prenom" type="text"> document.forms.client.nom.value; // read/write document.forms.client.prenom.disabled=true; document.forms.client.nom.style.fontStyle="italic"; Utilisez des indices pour les éléments de même nom : document.forms.client.choix[0] si plusieurs radio boutons dont le name est choix

Deux syntaxes Deux syntaxes sont possibles : La notation "tableau associatif" la notation "propriété d'un objet" Exemple décriture : document.forms[0] // indexé par la position document.forms["client"] // indexé par le nom document.forms.client // notation objet (.) ou même document.client ! La dernière écriture n'est valable que pour les forms, applets et images.

with Facilité : utilisez with : with (document.forms.client) { alert(nom.value); prenom.disabled=true; nom.style.fontStyle="italic"; } Remarque : CSS : font-style JavaScript : fontStyle

Evénements - 1 AttributSe produit si Objets onabortChargement interrompu image onblurPerte de focus tout élément onchangeModification de contenu sélection ou texte onclickClick simplelien, bouton, radio, checkbox ondblclickDouble-clicklien, bouton, image, document onerrorErreur lors du chargement document, image onfocusObtention du focus tout élément

Evénements - 2 Attribut Se produit siObjets onkeydown Une touche est enfoncéedocument, image, lien, texte onkeypress Une touche est enfoncée/relâchéeidem onkeyup Une touche est relâchéeidem onload Fin du chargementdocument, image onmousedown Un bouton de souris enfoncé document, image, lien, bouton onmouseup Un bouton de la souris est relâchéidem

Evénements – 3 Attribut Se produit si Objet onmouseout La souris sort de l'élément lien, image, div onmouseover La souris se déplace sur l'élémentidem onreset Click sur le bouton reset form onresize Modification de taille window onselect Du texte est sélectionnétext, textarea onsubmit Click sur le bouton submit form onunload L'utilisateur quitte la pagewindow voir

Handler d'événement – version classique On place une fonction comme handler d'événement comme suit : window.onload = handler; function handler() { alert("la page est chargée"); } Jamais comme ceci : Rappel : Unobtrusive JavaScript Si lévénement provoque une action par défaut, renvoyer false dans le handler annule cette action exemple : onsubmit

Quelques classes prédéfinies

La classe Window l'objet window en est une instance toutes ses propriétés sont valables pour les autres objets de cette classe création : var maFenetre = new Window(); ouverture : maFenetre.open(); maFenetre.open("URL", "nom");... fermeture : maFenetre.close();

opérations de timer Sur une fenêtre, on dispose des méthodes setTimeout et setInterval t = setTimeout(code, délai) code contient du code JavaScript (nom de fonction ou string) : il est exécuté à l'expiration du délai délai en millisecondes t = setInterval(code, intervalle) l'exécution de code est répétée toutes les intervalle millisecondes Aussi clearTimeout(t) et clearInterval(t) pour les arrêter ne s'exécutent que sur la page en cours

Object Classe de base de toutes les autres classes deux propriétés prototype constructor diverses méthodes dont toString valueOf (utile pour les types primitifs)

typeof et instanceof Lopérateur typeof renvoie "number", "string", "boolean, "object", "array", "function", "null" ou "undefined. L'opérateur instanceof indique si un objet est une instance de la classe renvoie toujours false si typeof ne renvoie pas "object".

la classe String var chaine = "coucou"; typeof string ; instanceof String false var string = String("coucou"); typeof string ; instanceof String false var str = new String("coucou"); typeof object ; instanceof String true définit tout une série de méthode "core" de manipulation des strings. définit aussi des méthodes "html" de présentation des strings.

Les classes Boolean, Number, Date voir à ce sujet Number définit les constantes NaN, MIN_VALUE, MAX_VALUE, POSITIVE_INFINITY, NEGATIVE_INFINITY et des méthodes pour préciser le format du nombre (exp, précision, fixe) Date propose de nombreuses méthodes (get/set, …) Les méthodes to…String : toLocaleString, toLocaleDateString toLocaleTimeString, … La méthode parse convertit une chaîne en date mais n'est pas portable. le constructeur Date() : new Date(); new Date(millisecondes); new Date(chaîne); // non portable new Date(an, mois[, jour, heures, mins, secs, ms]);

la classe Array créer un tableau : var t = new Array(); aussi : var t = new Array("aa", ""bb", "cc"); longueur du tableau : t.length méthodes : shift(), unshift(), pop(), push(); reverse(), toString(), slice(), splice() concat() : renvoie un nouveau tableau var t3 = t1.concat(t2); join(séparateur) : concatène les éléments sous forme de string avec le séparateur indiqué (, par défaut).

la classe RegExp var re = new RegExp("expr", "g"); équivaut à var re = /expr/g; ex : /^\s+(\d)$/ équivaut à new RegExp("^\\s+(\\d)$"); while (true) { var res = re.exec("expr est une expression régulière"); if (res == null) break; document.write(res + " "); }; sans g, exec recommence chaque fois au début (=>pas boucler) exec() renvoie la chaîne trouvée en retenant la position afin de continuer la recherche. S'il y a des parenthèses capturantes, exec renvoie un tableau. Si elle ne trouve rien, renvoie null. test() renvoie vrai ou faux. Avec g on bouclera aussi. compile() précise une nouvelle expression régulière : re.compile("u+");

la classe Math Est préinstanciée Pas de constructeur Définit les constantes et les fonctions mathématiques usuelles Math.PI; Math.max(x, y); Math.random(); Exemple : un nombre entre 0 et 10 : Math.floor(Math.random()*11); un nombre entre 1 et 10 : Math.ceil(Math.random()*10); Référence :

La classe Global préinstantiée pas de constructeur utilisée implicitement méthodes : eval("chaîne contenant du code javascript"); parseInt, parseFloat is… (isArray, isBoolean, isEmpty, isFinite, isFunction, isNaN, isNull, isNumber, isObject, isString, isUndefined) escape, unescape : deprecated, remplacé par encodeURI et decodeURI var s = " chaîne"; var se = encodeURI(e); // se est "

La classe Function ses objets sont les fonctions propriétés arguments la propriété callee d'arguments permet d'appeler une fonction anonyme récursivement var factorielle : function(n) { if (n <= 1) return 1; return n * arguments.callee(n-1); } length = nombre de paramètres déclarés prototype : voir séance prochaine méthodes call : fonction.call(objet, parm1, parm2, …) apply : fonction.apply(objet, params) elles sont utilisées dans la mise en œuvre de l'héritage