Computing">
Java Script
Java Script
Introduction (1)
Dynamisme Web Applications Web
JavaScript permet de rendre dynamique un site internet développé en Permet de développer de véritables applications fonctionnant
HTML, transformant des pages statiques en expériences interactives. exclusivement dans le cadre d'Internet.
ÉCOSYSTÈME INITIAL
Java JavaScript
Programme compilé Script interprété
Fichiers autonomes : .class ou .jar Écrit directement au sein du document HTML
Invoqué par une balise HTML spécifique Encadré par des balises HTML spéciales
Standardisation
Le langage est standardisé par le comité ECMA (European Computer Manufacturers Association).
BALISES INDISPENSABLES
01 <script language="JavaScript">
02 // Votre code JavaScript ici
MÉTHODES D'INTÉGRATION
Le code s'insère directement dans la page HTML elle-même. Le code JavaScript est stocké dans un fichier séparé et appelé via une URL.
Exécution Directe
[Link]
Le code s'exécute automatiquement lors du chargement de
la page HTML dans le navigateur.
<html>
<head>
Emplacement Structurel <title>Exemple Direct</title>
</head>
Le script est placé dans le corps même de la page, entre les <body>
<!-- Le code s'exécute ici -->
balises :
<script language="JavaScript">
<body> ... </body> alert('bonjour');
</script>
</body>
</html>
L'affichage du contenu HTML et l'exécution du script se font
simultanément à l'écran.
Analyse comparative
AVANTAGES INCONVÉNIENTS
Affiche une information simple. L'utilisateur doit cliquer Permet un choix binaire. Retourne true pour OK et Demande une saisie de texte. L'utilisateur tape sa
sur OK. false pour Annuler. réponse à une question.
<html> alert()
Affiche une boîte de message simple.
<body>
<script Bonjour
language='javascript'> prompt()
alert('bonjour'); Demande une saisie de texte à l'utilisateur.
[Link](
prompt('quel est votre nom?'
, 'Indiquer votre nom ici'
) confirm()
); Demande une validation (OK ou Annuler).
confirm('quel bouton allez-vous choisir?'
);
</script> [Link]()
</body> Écrit dynamiquement du contenu dans le document HTML.
</html>
Modèle de base
S'appuie sur la syntaxe du Java et du C.
plusieurs lignes */
Sensibilité à la casse alert(maVariable);
JavaScript distingue les majuscules des minuscules.
STRUCTURE TYPE
Commentaires
Note : La rigueur sur le point-virgule et la casse évite la majorité des erreurs d'exécution
// p o ur une lig ne uniq ue. initiales.
/* ... */ pour un bloc multi-lignes.
ÉTAPE 1 ÉTAPE 2
Déclarer Affecter
var x; x = 10;
VARIABLES GLOBALES
Non Déclarée
Déclarée en début de script.
La lecture d'une variable non déclarée provoque immédiatement
Accessible à n'importe quel endroit du programme.
une erreur d'exécution.
VARIABLES LOCALES
Undefined
Déclarée à l'intérieur d'une fonction.
Utilisable uniquement dans la fonction elle-même. Une variable correctement déclarée mais sans valeur affectée est
affectée est considérée comme undefined.
Un nom de variable ne peut contenir que : // Ces deux variables sont différentes
var MonPrenom;
Lettres [a-z] Chiffres [0-9] Underscore [ _ ]
var monprenom;
Mon Prenom
JS VARIABLES & SYNTAXE Remarque : Les noms de variables doivent être explicites et concis.
Les variables (4) UNIVERSITÉ DE FRANCHE -COMTÉ
Section: Types de Données
TYPAGE DYNAMIQUE
Le type d'une variable dépend de la valeur stockée. Pas de déclaration de type explicite.
true false
null undefined
L'ABSENCE INTENTIONNELLE L'ABSENCE DE DÉFINITION
Signifie l'absence de données dans une variable. C'est une valeur Une variable dont le contenu n'est pas clair car elle n'a jamais
qui peut être assignée. jamais stocké de valeur.
RÉSUMÉ Une variable déclarée sans valeur est undefined On utilise null pour vider explicitement un contenu
Les opérations sur les chaînes
M anip ulatio n et transfo rm atio n d e l'o b jet String UNIVERSITÉ DE FRANCHE -COMTÉ
eval()
[Link]
La fonction eval
Cette fonction permet d'exécuter un code JavaScript à // Fonction de calcul dynamique
<input type="button"
value="Évaluer"
Usage courant : Évaluation dynamique d'expressions mathématiques
saisies par l'utilisateur. >
isFinite() isNaN()
Détermine si le paramètre est un nombre fini. Détermine si le paramètre n'est pas un nombre.
• Retourne false si le param ètre est : • NaN sig nifie "N o t a N um b er".
• - Pas un nombre (NaN) • Utile pour valider des entrées utilisateur avant calcul.
parseFloat() parseInt()
Analyse une chaîne de caractères et retourne un nombre décimal. Analyse une chaîne et retourne un nombre entier selon une base
spécifiée.
JS CONVERSION & ENCODAGE Remarque : escape() est désormais dépréciée au profit de encodeURI().
PARTIE 03
Les objets JavaScript peuvent provenir de deux sources : Les objets JavaScript réagissent à des actions extérieures
appelées événements.
PRÉDÉFINIS UTILISATEUR
Inclus nativement dans le langage. Créés par le programmeur.
L'opérateurNew
Types d'objets prédéfinis
Utilisé pour créer une nouvelle instance d'un type Array Boolean Date Function
d'objet prédéfini ou défini par l'utilisateur.
Image Number Object String
Exemple d'instanciation
SYNTAXE GÉNÉRALE
typeof Math;
"object"
JS DÉTERMINATION DES TYPES NOTE: TYPEOF NULL RETOURNE "OBJECT" (COMPORTEMENT HISTORIQUE)
L'objet String (1) UNIVERSITÉ DE FRANCHE -COMTÉ
// Core_Objects_Module
PROPRIÉTÉ UNIQUE
length | Retourne la longueur de la chaîne de caractères.
MÉTHODES DE MANIPULATION
anchor() Formate avec la balise <A> nommée charCodeAt() Code du caractère à une position
charAt() Caractère à une position donnée indexOf() Indice d'occurrence d'un caractère
Formate la chaîne avec la balise HTML <i>. Trouve le dernier indice d'occurrence d'un caractère Convertit l'intégralité de la chaîne de caractères en
caractère spécifié. en minuscules.
link()
slice() / substr()
toUpperCase()
Encapsule la chaîne dans une balise <A> p o ur créer un
Retournent une portion ou une sous-section de la
lien hyp ertexte. Convertit l'intégralité de la chaîne de caractères en
la chaîne.
en majuscules.
substring()
Astuce : Les méthodes de formatage (italics, link) génèrent directement du code HTML à partir de la variable String.
L'objet Array UNIVERSITÉ DE FRANCHE -COMTÉ
// JavaScript_Objects_Module
Propriété
.length
L'objet Math (1) UNIVERSITÉ DE FRANCHE -COMTÉ
[Link]
π e √2 1/√2
Cercle (~3.14159) Euler (~2.718) Racine de 2 (~1.414) 1 / Racine de 2 (~0.707)
LOGARITHMES
Note de Syntaxe :
C es p ro p riétés so nt statiq ues. V o us n'avez p as b eso in d e créer une instance d e l'o b jet M ath p o ur les utiliser. Exem p le: [Link]([Link]);
L'objet Math (2) UNIVERSITÉ DE FRANCHE -COMTÉ
[Link]()
Propriété : Aucune
getSeconds() getMilliseconds()
Retourne les valeurs stockées selon l'heure locale du Retourne les valeurs stockées en Temps Universel (UTC). Remplace les valeurs spécifiées dans l'objet Date
du client. existant.
Manipulation et Conversion
HIÉRARCHIE
[Link]("monID")
document
Contenu de la fenêtre (Page HTML)
UNIVERSITÉ DE FRANCHE -COMTÉ
Les objets du navigateur (2)
Hiérarchie et Arborescence des Objets JavaScript
WINDOW
MimeType
image applet
form
Text Radio Select
L'objet Window est la racine de toute la hiérarchie du Accès au DOM : L'objet document p erm et d e Collections : Les éléments (images, liens, formulaires)
hiérarchie du navigateur. m anip uler le co ntenu H TM L. sont accessibles via des tableaux.
L'objet window est le som m et d e la hiérarchie d u navig ateur. Il rep résente la fenêtre elle - m êm e.
Retourne l'objet représentant le navigateur Retourne l'objet window qui a créé ou ouvert la Retourne l'objet window immédiatement
utilisé par l'internaute. fenêtre en cours. supérieur dans la hiérarchie.
Retourne l'objet window correspondant à la Indique le message affiché dans la barre de Retourne l'objet window le plus haut dans la
la fenêtre actuellement en cours. status du navigateur. hiérarchie des fenêtres.
blur() Enlève le focus de la fenêtre moveBy() Déplace d'une distance relative (x, y)
focus() Place le focus sur la fenêtre moveTo() Déplace vers un point absolu
resizeBy() Redimensionne d'un certain rapport setTimeout() Évalue après un laps de temps
JS BOM - BROWSER OBJECT MODEL Note: Certaines méthodes peuvent être restreintes par les navigateurs modernes.
L'objet document (1) UNIVERSITÉ DE FRANCHE -COMTÉ
DOM_Object_Model_v1
Retourne la collection d'applets Java présentes dans le Permet de stocker et de récupérer un cookie sur le Indique le nom de domaine du serveur ayant fourni le
document. poste client. document.
Retourne la collection de tous les formulaires présents Retourne la collection de toutes les images présentes Retourne la collection de tous les liens hypertexte du
présents dans la page. dans le document. document.
NOTE
Ces propriétés permettent d'accéder aux collections d'objets spécifiques sans utiliser getElementById().
title
open() close()
Indique le titre du document (le contenu de la balise <title>). Ouvre le document en mode écriture. Efface le contenu Ferme le flux d'écriture et force l'affichage des données
existant si le document était déjà chargé. envoyées au document.
PRO-TIP JS
Utilisez write() avec p récautio n ap rès le charg em ent co m p let d e la p ag e. JAVASCRIPT UNIVERSITY
L'objet navigator UNIVERSITÉ DE FRANCHE -COMTÉ
// Browser_Object_Model
[Link]
ACTION UTILISATEUR
Clic, survol, chargement... ÉVÉNEMENT DÉCLENCHÉ EXÉCUTION SCRIPT
Objet HTML (Button, Img...) Fonctions associées
HTML.
L'exécution de fonctions spécifiques peut être liée à ces moments précis. onMouseover onMouseout
Survol par le curseur Sortie de la zone
Se produit lorsque une page web est entièrement chargée. // Dans la balise body
<html>
<body chargée');">
Comprend le chargement de tous les éléments, y compris Exemple de l'événement onLoad
images et ressources externes. </body>
</html>
Peut être associé à une image individuelle.
Note Importante :
1 2 3
L'événement se déclenche lorsque le DOM est prêt ET que toutes les ressources
REQUÊTE CHARGEMENT ONLOAD ont fini de télécharger.
onClick
Cibles Spécifiques
Lien hypertexte, image, bouton, texte. Chaque élément peut répondre
séparément.
Éléments Réceptifs
Portée Globale
Peut être associé à l'élément <body> p o ur d étecter un clic n'im p o rte o ù
sur la pag e.
onMouseover onMouseout
Déclenché lorsque le pointeur de souris passe sur un élément. Se produit lorsque le pointeur quitte la zone d'un élément.
Exemple d'implémentation
<HTML><body>
<IMG src="[Link]"
> >
</BODY></HTML>
L'attribut NAME
Cet attribut permet de distinguer les différents objets-
éléments (formulaires, tableaux, zones de texte) au sein Exception : Objets Uniques
Aucun nom n'est nécessaire pour les objets intrinsèquement uniques dans le document
d'une page web.
document : BODY, DOCUMENT.
/user_profile/[Link]
• C:\WINDOWS\Cookies
• C:\WINDOWS\TEMP\Cookies
Composé de deux variables essentielles Chaque paire attribut-valeur est délimitée par
var mon_cookie = "oui:visite";
suivies d'un point-virgule. délimitée par un caractère spécifique.
PARAMÈTRE D'EXPIRATION
Règle Générale
Indiquer un délai en nombre de jours ou d'années avant Notes Techniques
disparition. expires suivi du "=" sans espaces.
Méthode recommandée
Utiliser les fonctions natives de l'objet Date.
Définit le chemin d'accès du cookie sur le Représente le nom de domaine associé au Spécifie que le cookie est envoyé
serveur. cookie. uniquement via HTTPS.
EXEMPLE PRATIQUE
Écrire un cookie
Un cookie est une propriété de l'objet document. Pour var Nom = "MonCookie";
l'enreg istrer sur le d isq ue d ur d u client, on utilise var Contenu = "Hé... Vous avez un cookie !";
l'instruction d 'écriture suivante : var expdate = new Date();
Pour accéder aux cookies, on utilise la propriété [Link] d e Il suffit de modifier la variable Contenu p uis d e réécrire le cookie sur le
[Link] de l'objet document. disque.
var LesCookies; // pour voir les cookies Contenu = "Le cookie a été modifié...";
LesCookies = [Link]; [Link] = Nom + "=" + Contenu +
// On stocke la chaîne dans une variable "; expires=" + [Link]();
Note : Cette propriété retourne tous les cookies sous forme d'une seule chaîne de ÉTAPE 1 ÉTAPE 2 ÉTAPE 3
IMPLÉMENTATION JAVASCRIPT
SUPPRESSION
// 1. Définir une date passée
Pour supprimer un cookie, il n'existe pas de commande
[Link]([Link]() - (1000));
delete.