SlideShare une entreprise Scribd logo
LES BASES
Auteur : Olivier Martin pour la 3W Academy
http://www.conception.website
Où écrire du code javascript ?
<!DOCTYPE html>
<html>
<body>
<h1>Hello world!</h1>
! Soit dans un fichier javascript externe : 
<script src="monfichier.js" type="text/javascript"></script>
! Soit directement entre les balises <script></script> 
<script type="text/javascript">
Alert(‘Hello world !’);
// mettre tout votre code JS
</script>
</body>
</html>
Auteur : Olivier Martin pour la 3W Academy
Comment débuguer son code JS ?
En utilisant la console de votre navigateur. Pour la faire apparaître :
faire soit « F12 », soit clic droit « inspecter l’élément » puis cliquez
ensuite sur l’onglet « console » :
Nature de l’erreur
Fichier concerné
Numéro de la ligne sur laquelle l’erreur a été rencontrée
Auteur : Olivier Martin pour la 3W Academy
Les variablesf
Une variable sert à stocker une donnée qui sera utilisée plus tard.
• Déclarer une variable et lui assigner une valeur :
var maVariable = ‘valeur assignée’ ;
• Déclarer plusieurs variables en même temps :
var maVariable = ‘valeur assignée’ , maVariable2 = 45 , result;
REMARQUES :
- On peut très bien déclarer une variable sans lui assigner de valeur (exemple avec la
variable « result »).
- Le préfixe var sert à indiquer qu’il s’agit d’une variable locale et non une variable globale
Auteur : Olivier Martin pour la 3W Academy
Les variables
Les variables sont dites « sensible à la casse ».
Prenons cet exemple :
var moi = ‘Thomas’ ;
var Moi = ‘Olivier’ ; // on met un M masjuscule cette fois
Alert(moi); // affiche Thomas
Alert(Moi); // affiche Olivier
Conclusion : les variables « moi » et « Moi » sont considérées comme différentes à cause de
la majuscule.
Auteur : Olivier Martin pour la 3W Academy
1) Utiliser la notation en camelCase pour le nom de variable :
var maVariableBienEcrite = ‘hello’ ;
>>> Cela consiste à écrire le premier mot en minuscule puis ceux qui suivent en les
commençant par une majuscule.
2) Préférer l’usage de l’anglais :
var myCompetencies = [‘HTML’ , ‘CSS’ , ‘JS’]
>>> L’anglais est intéressant car il ne comporte aucun n’accent 
3) Donnez leur des noms cohérents (éviter les noms du style myVar1, myVar2 etc.)
Auteur : Olivier Martin pour la 3W Academy
Les variablesf
Quelques règles et bonnes pratiques pour nommer vos variables :
Les variables
Demander à l’utilisateur d’assigner une valeur à une variable avec la fonction
prompt();
var prenom = prompt(‘Entrez votre prénom’);
// Après validation la variable prenom vaudra « Samuel »
Samuel
Auteur : Olivier Martin pour la 3W Academy
3 façons d’afficher un résultat simplement :
var test = ‘Hello world !’ ;
alert(test) ;
console.log(test);
Faire F12 ou clic droit puis « inspecter l’élément » sur votre navigateur :
document.write(test); // écrit « Hello world!» dans notre document html
Le contenu de la variable s’affiche dans la console du navigateur
Auteur : Olivier Martin pour la 3W Academy
1)
2)
3)
Les types de variables
Il existe plusieurs types de variable en javascript tels que les Nombres
(number), les chaînes de caractère (string) ou encore les booléens qui
valent 0 ou 1 (boolean)
Exemples :
var Myvar1 = 5 ; // il s’agit d’un nombre entier (number (int))
var Myvar2 = 5.1589 ; // il s’agit d’un nombre à virgule (number (float))
var Myvar3 = ‘du texte’ ; // il s’agit d’une chaîne de caractère (string)
var Myvar4 = false ; / la variable est un booléen de valeur 0 (bool).
var Myvar4 = true ; //la variable est un booléen de valeur 1 (bool).
Auteur : Olivier Martin pour la 3W Academy
Les types de variables
Il existe également le type « function » et le type « object » un peu moins
courant surtout pour les débutants.
// variable contenant une fonction. Son type vaut « function » :
var mafonction = function (){
// instructions
}
// exemple de variables dont le type vaut « object » :
var mon_objet1 = [‘Jean’ , ’Alphonse’];
var mon_objet2 = {nom : ‘Jean’ , prenom : ‘Valjean’};
DON’T PANIC, les fonctions et objets seront abordés plus loin 
Afficher le type d’une variable avec typeof
var myVar = 5;
alert(typeof Myvar); // affiche « number »
var myVar =‘test’;
alert(typeof Myvar); // affiche « string »
var myVar = true;
alert(typeof Myvar); // affiche « boolean »
Auteur : Olivier Martin pour la 3W Academy
Convertir le type d’une variable
var chiffre1 = prompt(‘Entrer un chiffre’);
var chiffre2 = prompt(‘Entrer un 2ème chiffre’);
// on suppose que l’utilisateur rentre 5 et ensuite 6
var result = chiffre1 + chiffre2;
alert (result); // affiche 56 et non 11 car les variables « chiffre1 » et
« chiffre2 » dont les valeurs ont été assignées via prompt() sont par défaut
considérées comme de type « string ».
// La solution pour y remédier:
result = parseInt(first) + parseInt(second);
alert(result); // affiche enfin 11
Auteur : Olivier Martin pour la 3W Academy
Les operateurs
• L’opérateur « + »
Permet d’additionner 2 valeurs numériques ou de mettre bout-à-bout plusieurs
variables.
var v1 = 5 , v2 = 10 , v3 = ‘un texte’;
var somme = v1 + v2 ; // vaut 15
var somme2 = v1 + v3 + v2; // vaut « 5 un text 10 »
• Opérateurs « - », « * » « / » :
Permet de faire des soustractions, multiplications et divisions sur des variables de
type « number ».
var v1 = 5 , v2 = 3 , v3 = 10;
var operation = ((v1 - v2) * v3) / v1; // vaut 4. Détail : ((5 - 3) x10) / 5) = 4
Auteur : Olivier Martin pour la 3W Academy
Les operateurs
• « % » (modulo)
Affiche le reste d’une division.
var mon_modulo = 11 % 2 ; // mon_modulo vaut 1 car 11 = 5x2 + 1
• « +=»
Prend la valeur de la variable déclarée et lui ajouter la nouvelle valeur
assignée :
var v1 = 10 , v2 = ‘Du texte’ ;
v1 += 5 ; // v1 vaut à présent 15 car 10 + 5 = 15
v2 += ‘encore plus long’ ; // v2 vaut « Du texte encore plus long »
• «-=» « *=» « /=» «%=» :
Fonctionne de la même manière que += mais que sur des valeurs de type « number ».
LA CONCATENATION
var v1 = ‘bonjour', v2 = ‘bonsoir', result;
result = 'Bien le '+v1 +', bien le '+ v2+' !';
alert(result); // Affiche : « Bien le bonjour, bien le bonsoir ! »
var result2 = v1+' et '+v2;
alert(result2); // Affiche : « Bonjour et bonsoir»
Auteur : Olivier Martin pour la 3W Academy
Les conditions if, elseif et else
If (Mettre une condition #1) {
Exécuter du code si condition#1 est respectée…
}
elseif (Mettre une autre condition #2)
{
Code qui s’exécute si la condition#1 n’est pas respectée mais si la condition #2 est respectée…
}
else {
Code qui s’exécute si condition#1 et condition#1 ne sont pas respectées…
}
Remarque : elseif et else sont optionnels. Vous pouvez aussi mettre une
infinité de « elseif » mais un seul « else » à la suite d’une condition en « if »
Auteur : Olivier Martin pour la 3W Academy
Opérateurs de comparaison
var mavariable = true; // Cela équivaut à écrire « var mavariable = 1; »
// L’exemple ci dessous affichera « Bien égale à 1 » :
if(mavariable == 1) {
alert(‘Bien égal à 1’);
}
else {
alert(‘Pas égale à 1’);
}
// L’exemple si dessous affichera « Pas égale à 1 » :
if(mavariable === '1') { // ici ’10’ est considéré comme une chaîne de caractère
et non un entier à cause des apostrophes ‘’
alert(‘Bien égal à 1’);
}
else {
alert(‘Pas égale à 1’);
}
Auteur : Olivier Martin pour la 3W Academy
Opérateurs logiques
var v1 = 20 , v2 = false ;
if( v1 > 10 && v1 < 30) alert(‘OK’); // affichera OK
If(v1 == 10 || v2 == false) alert(‘OK’); // affichera OK
if(!v2) alert(‘OK’); // affichera OK
Auteur : Olivier Martin pour la 3W Academy
Les boucles #1
La boucle While :
var v1; // on déclarer la variable locale v1
while (v1 % 1 !== 0){
v1 = prompt('entrer un entier');
}
Explication :
Tant que v1 n’est pas un nombre entier on redemande à l’utilisateur de
renseigner v1 via la boite de dialogue « prompt ».
Pour info : Le reste d’un entier divisé par 1 vaut toujours 0. Exemple :
10 % 1 = 0. C’est donc une bonne astuce pour vérifier si une variable
est un nombre entier 
Auteur : Olivier Martin pour la 3W Academy
Les boucles #2
La boucle For #1:
• Structure de la boucle
for ({bloc d’initialisation} ; {bloc de condition} ; {bloc d’itération}){
// code à exécuter
}
• Exemple :
for (var i = 1; i < 5; i++) { // la variable i s’incrémente de +1 à chaque
exécution de la boucle. Une fois que i sera égal à 5 la condition i < 5 ne sera
plus respectée et la boucle cessera de s’éxécuter.
alert('Itération n°' + i);
}
// la boucle va s’exécuter 5 fois et afficher successivement une alerte
contenant « Itération n°1 » , « Itération n°2 » , etc. jusqu’à « Itération n°5 »
Auteur : Olivier Martin pour la 3W Academy
La boucle For (variante) :
• Exemple sur un tableau (array):
var my_array = [‘john’, ‘sophie’,’thomas’];
for (var id in my_array ) { // la variable id correspond à l’index soit 0,1 et 2 dans notre exemple
alert(my_array[id]); // affiche john , puis sophie , puis thomas
}
• Exemple sur un object litéral :
var my_object = { ‘prenom’ : ‘john’, ‘nom’:’Do’, ‘genre’ : ‘homme’ };
for (var id in my_object ) { // la variable id correspond à l’index prenom , nom et genre
alert(my_object[id]); // affiche john , Do puis homme en 3ème exécution
}
Les boucles #3
Auteur : Olivier Martin pour la 3W Academy
Les fonctions
function Nom_De_Ma_Fonction(arguments){
// Le code que la fonction va devoir exécuter
}
• Exemple :
function somme(arg1,arg2){
return arg1 + arg2;
}
alert(somme(10,20)); // affiche « 30 »
Auteur : Olivier Martin pour la 3W Academy
Les tableaux (Array) et Objets littéraux
Les array :
• Exemple :
var languages = [‘html’ , ‘css’ , ’js’ , ‘php’ , ‘mysql’];
alert(languages[1]); // affiche «css»
alert(languages[4]); // affiche «mysql»
Identifiant 0 1 2 3 4
Données html css js php mysql
Auteur : Olivier Martin pour la 3W Academy
Parcourir un Array :
var languages = [‘HTML’ , ‘CSS’ , ’JS’ , ‘PHP’ , ‘MYSQL’];
for (i = 0, c = languages.length ; i < c ; i++)
{
document.write(‘- ‘+languages[i]+’ <br>’);
}
Ajouter une ou plusieurs données dans l’array :
languages.push(‘jQuery’); // on utilise la méthode push();
languages.push(‘PYTHON’ , ’RUBY’); // on ajoute plusieurs données à la volée
- HTML
- CSS
- JS
- PHP
- MYSQL
Résultat:
Auteur : Olivier Martin pour la 3W Academy
Les tableaux (Array) et Objets littéraux
Les objets littéraux :
• Exemple :
var personage = {prenom : ‘Tony’ , nom : ‘Stark’ , age : 35};
alert(personage[‘nom’]); // affiche «Stark»
alert(personage.nom); // affiche également «Stark»
Identifiant prenom nom age
Données Tony Stark 35
Auteur : Olivier Martin pour la 3W Academy
Parcourir un objet littéral :
var personage = {prenom : ‘Tony’ , nom : ‘Stark’ , age : 35};
for (var index in personage)
{
document.write(‘- ’+index +’ : ‘+ personage[index]+’ <br>’);
}
Ajouter ou modifier une propriété :
personage.ville = ‘lyon’; //si la propriété « ville » de l’objet littéral « personnage »
n’existe pas alors elle est créé; sinon elle est modifiée.
- prenom : Tony
- nom : Stark
- age : 35
Résultat :
Le javascript est un langage orienté objet
Chaque variable contient un objet sur lequel on peut lire des propriétés
et appliquer des méthodes.
Exemple :
var objet1 = [‘HTML’, ‘CSS’,’JS’]; // objet1 est un objet de type Array
console.log(objet1.length); // on lit la propriété « length » qui vaut 3
console.log(objet1.join(‘-’)); // on applique la méthode « join » ce qui
produit l’affichage de « HTML-CSS-JS » dans la console
LA POO (Programmation Orientée Objet)
Auteur : Olivier Martin pour la 3W Academy
LA POO (Programmation Orientée Objet)
LES OBJETS NATIFS
Exemple d’un objet natif javascript « window » :
• Window ontient des propriétés telles que :
window.innerWidth // renvoi la largeur interne
window.innerHeight // renvoi la hauteur interne
• Mais aussi des méthodes :
Window.close() // ferme la fenêtre en cours
window.print() //Ouvre la boîte de dialogue d'impression du document courant.
Autres objets natifs : console , document …
En savoir plus sur les propriétés et méthode de l’objet windows sur :
https://developer.mozilla.org/fr/docs/DOM/window
innerWidth
innerHeight
LA POO (Programmation Orientée Objet)
function voiture (color,mark, power) {
// on défini les propriétés
this.couleur= color;
this,marque = mark;
this.puissance = power ;
this.vitesse = 0 ; // peut être amenée à varier
// on défini les méthodes
this.tourner = function (angle=10){
// code qui ferait tourner la voiture en fonction de l’angle
défini. Par défaut on fait tourner la voiture de 10°.
}
this.accelerer = function (){ // mettre du code qui ferait
augmenté la proprité vitesse,
}
this.freiner = function (){// mettre du code qui ferait diminuer
la proprité vitesse,
}
this.klaxoner = function (){ // mettre du code qui
provoquerai l’émission d’ un son de klaxon depuis un fichier
.wav ou .mp3
}
}
Caractéristiques (Propriétés) :
- Couleur : Blanche
- Marque : Lamborghini
- Puissance : 492 ch
- Vitesse : de 0 à 320 km/h
Fonctionalités (Méthodes) :
- Tourner
- Accélérer
- Freiner
- Klaxonner
Objet constructeurExemple imagé avec une voiture Création des instances de l’objet voiture
// on créer une instance de l’objet voiture :
var lamborghini = new voiture(‘blanche‘,
‘Lamborghini’,492);
// on peut aussi créer une seconde instance :
var fiat_panda = new voiture(‘rouge‘ , ‘Fiat panda’ , 100);
alert(lamborghini.couleur); // affiche blanche
lamborghini.accelerer(); // on augmente la propriété
vitesse de l’objet lamborghini via sa méthode accelerer();
setTimeout(function(){alert(lamborghini.vitesse); },
4000);
// affiche la propriété « vitesse » de l’objet lamborghini
après 4 secondes d’accélération soit : 100 km/ h
Ressources pour continuer d’apprendre soi-
même :
- Wikibooks : http://fr.wikibooks.org/wiki/Programmation_JavaScript
- OpenClassroom : http://openclassrooms.com/courses/dynamisez-
vos-sites-web-avec-javascript
- Codecademy : http://www.codecademy.com/fr/tracks/javascript
- 3WA : http://javascript.3wa.fr
Auteur : Olivier Martin pour la 3W Academy
A SUIVRE…
Auteur : Olivier Martin pour la 3W Academy

Contenu connexe

PPTX
Cours tp2
PPT
programmation orienté objet c++
PPTX
Polymorphisme
PDF
C++ Metaprogramming : multidimensional typelist
PDF
Polymorphisme : un concept polymorphe !
PPTX
Cours javascript v1
ODP
Introduction à JavaScript
PDF
Javascript ne se limite pas à jquery
Cours tp2
programmation orienté objet c++
Polymorphisme
C++ Metaprogramming : multidimensional typelist
Polymorphisme : un concept polymorphe !
Cours javascript v1
Introduction à JavaScript
Javascript ne se limite pas à jquery

Tendances (20)

PDF
Cours java
PPTX
Javascript : que fait ce code?
PDF
Exceptions
PDF
Cours java script
PPTX
PDF
Javascript les générateurs (generators)
PDF
Cours c++
PPTX
Javascript un langage supérieur
PPTX
C# langage & syntaxe
PPTX
Chapitre1: Langage Python
PPTX
Initiation au code : Ateliers en C# (applications desktop et mobile native)
PDF
Ch11
PDF
Héritage et polymorphisme- Jihen HEDHLI
PDF
Chapitre6: Surcharge des opérateurs
PPTX
C# et .NET : Enigmes et puzzles
PDF
Les fonctions lambdas en C++11 et C++14
PDF
Caml intro
 
PPTX
Présentation de ECMAScript 6
PPT
Les fondamentaux du langage C
PDF
Cours java
Javascript : que fait ce code?
Exceptions
Cours java script
Javascript les générateurs (generators)
Cours c++
Javascript un langage supérieur
C# langage & syntaxe
Chapitre1: Langage Python
Initiation au code : Ateliers en C# (applications desktop et mobile native)
Ch11
Héritage et polymorphisme- Jihen HEDHLI
Chapitre6: Surcharge des opérateurs
C# et .NET : Enigmes et puzzles
Les fonctions lambdas en C++11 et C++14
Caml intro
 
Présentation de ECMAScript 6
Les fondamentaux du langage C
Publicité

En vedette (20)

PDF
НВК "Якимівська гімназія"
PDF
anastasia_tatcha
TXT
Kuwait Discover the opportunity
PPTX
Coventional inheritance
PPTX
Юровникова Антонина Николаевна
PPT
Independence&benefits
PDF
Wikiyblog
PDF
Presentation Magento OroCRM - MageConf 2014
PDF
Undergraduate prospectus
PPTX
Best Buy
PPTX
Seth Northrop & Li Zhu - Legal Streaming
PPTX
Best Buy
PPTX
Маркарьян А.С.
PPTX
2015路過數位藝術節感想短講4版(18g0v)
PDF
Certificates
PPTX
Distribution ppt 2
PPTX
Fa27assignment4 new
DOCX
Kuwait international boat show presentation Exhibitors
PPTX
Avani jain best_buy
PPTX
Editing colour
НВК "Якимівська гімназія"
anastasia_tatcha
Kuwait Discover the opportunity
Coventional inheritance
Юровникова Антонина Николаевна
Independence&benefits
Wikiyblog
Presentation Magento OroCRM - MageConf 2014
Undergraduate prospectus
Best Buy
Seth Northrop & Li Zhu - Legal Streaming
Best Buy
Маркарьян А.С.
2015路過數位藝術節感想短講4版(18g0v)
Certificates
Distribution ppt 2
Fa27assignment4 new
Kuwait international boat show presentation Exhibitors
Avani jain best_buy
Editing colour
Publicité

Similaire à Les bases du javascript (20)

PDF
Javascript pour les développeurs Java : quels sont les pièges à éviter ?
PPTX
cours détaillé python premier annee OFPPT.pptx
PPTX
cours détaillé python premier annee OFPPT.pptx
PPTX
HumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du tout
PPTX
tp-developpement-digital-opt-applications-mobiles-m207-27-04-2023-64624d69394...
PDF
Notions de base de JavaScript
PPTX
Introduction à TypeScript,language de programmation
PDF
POO_Java_BasesLangage.pdf
PPT
Cours php
PDF
Introduction java
PDF
Python - Part1.pdf presentation cours intro
PDF
33_1180.pdf
PDF
Cours c#
 
PDF
Javascript #2 : valeurs, types & opérateurs
PPT
seance4-1 php.ppt
PPT
Php4 Mysql
PDF
Apprendre vba excel(1)
PDF
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
PDF
Cours_Java. Skzozibb nsif keizijfbjzozzml keiei tjeiz9rkr
KEY
Introduction au langage Ruby
Javascript pour les développeurs Java : quels sont les pièges à éviter ?
cours détaillé python premier annee OFPPT.pptx
cours détaillé python premier annee OFPPT.pptx
HumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du tout
tp-developpement-digital-opt-applications-mobiles-m207-27-04-2023-64624d69394...
Notions de base de JavaScript
Introduction à TypeScript,language de programmation
POO_Java_BasesLangage.pdf
Cours php
Introduction java
Python - Part1.pdf presentation cours intro
33_1180.pdf
Cours c#
 
Javascript #2 : valeurs, types & opérateurs
seance4-1 php.ppt
Php4 Mysql
Apprendre vba excel(1)
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Cours_Java. Skzozibb nsif keizijfbjzozzml keiei tjeiz9rkr
Introduction au langage Ruby

Les bases du javascript

  • 1. LES BASES Auteur : Olivier Martin pour la 3W Academy http://www.conception.website
  • 2. Où écrire du code javascript ? <!DOCTYPE html> <html> <body> <h1>Hello world!</h1> ! Soit dans un fichier javascript externe :  <script src="monfichier.js" type="text/javascript"></script> ! Soit directement entre les balises <script></script>  <script type="text/javascript"> Alert(‘Hello world !’); // mettre tout votre code JS </script> </body> </html> Auteur : Olivier Martin pour la 3W Academy
  • 3. Comment débuguer son code JS ? En utilisant la console de votre navigateur. Pour la faire apparaître : faire soit « F12 », soit clic droit « inspecter l’élément » puis cliquez ensuite sur l’onglet « console » : Nature de l’erreur Fichier concerné Numéro de la ligne sur laquelle l’erreur a été rencontrée Auteur : Olivier Martin pour la 3W Academy
  • 4. Les variablesf Une variable sert à stocker une donnée qui sera utilisée plus tard. • Déclarer une variable et lui assigner une valeur : var maVariable = ‘valeur assignée’ ; • Déclarer plusieurs variables en même temps : var maVariable = ‘valeur assignée’ , maVariable2 = 45 , result; REMARQUES : - On peut très bien déclarer une variable sans lui assigner de valeur (exemple avec la variable « result »). - Le préfixe var sert à indiquer qu’il s’agit d’une variable locale et non une variable globale Auteur : Olivier Martin pour la 3W Academy
  • 5. Les variables Les variables sont dites « sensible à la casse ». Prenons cet exemple : var moi = ‘Thomas’ ; var Moi = ‘Olivier’ ; // on met un M masjuscule cette fois Alert(moi); // affiche Thomas Alert(Moi); // affiche Olivier Conclusion : les variables « moi » et « Moi » sont considérées comme différentes à cause de la majuscule. Auteur : Olivier Martin pour la 3W Academy
  • 6. 1) Utiliser la notation en camelCase pour le nom de variable : var maVariableBienEcrite = ‘hello’ ; >>> Cela consiste à écrire le premier mot en minuscule puis ceux qui suivent en les commençant par une majuscule. 2) Préférer l’usage de l’anglais : var myCompetencies = [‘HTML’ , ‘CSS’ , ‘JS’] >>> L’anglais est intéressant car il ne comporte aucun n’accent  3) Donnez leur des noms cohérents (éviter les noms du style myVar1, myVar2 etc.) Auteur : Olivier Martin pour la 3W Academy Les variablesf Quelques règles et bonnes pratiques pour nommer vos variables :
  • 7. Les variables Demander à l’utilisateur d’assigner une valeur à une variable avec la fonction prompt(); var prenom = prompt(‘Entrez votre prénom’); // Après validation la variable prenom vaudra « Samuel » Samuel Auteur : Olivier Martin pour la 3W Academy
  • 8. 3 façons d’afficher un résultat simplement : var test = ‘Hello world !’ ; alert(test) ; console.log(test); Faire F12 ou clic droit puis « inspecter l’élément » sur votre navigateur : document.write(test); // écrit « Hello world!» dans notre document html Le contenu de la variable s’affiche dans la console du navigateur Auteur : Olivier Martin pour la 3W Academy 1) 2) 3)
  • 9. Les types de variables Il existe plusieurs types de variable en javascript tels que les Nombres (number), les chaînes de caractère (string) ou encore les booléens qui valent 0 ou 1 (boolean) Exemples : var Myvar1 = 5 ; // il s’agit d’un nombre entier (number (int)) var Myvar2 = 5.1589 ; // il s’agit d’un nombre à virgule (number (float)) var Myvar3 = ‘du texte’ ; // il s’agit d’une chaîne de caractère (string) var Myvar4 = false ; / la variable est un booléen de valeur 0 (bool). var Myvar4 = true ; //la variable est un booléen de valeur 1 (bool). Auteur : Olivier Martin pour la 3W Academy
  • 10. Les types de variables Il existe également le type « function » et le type « object » un peu moins courant surtout pour les débutants. // variable contenant une fonction. Son type vaut « function » : var mafonction = function (){ // instructions } // exemple de variables dont le type vaut « object » : var mon_objet1 = [‘Jean’ , ’Alphonse’]; var mon_objet2 = {nom : ‘Jean’ , prenom : ‘Valjean’}; DON’T PANIC, les fonctions et objets seront abordés plus loin 
  • 11. Afficher le type d’une variable avec typeof var myVar = 5; alert(typeof Myvar); // affiche « number » var myVar =‘test’; alert(typeof Myvar); // affiche « string » var myVar = true; alert(typeof Myvar); // affiche « boolean » Auteur : Olivier Martin pour la 3W Academy
  • 12. Convertir le type d’une variable var chiffre1 = prompt(‘Entrer un chiffre’); var chiffre2 = prompt(‘Entrer un 2ème chiffre’); // on suppose que l’utilisateur rentre 5 et ensuite 6 var result = chiffre1 + chiffre2; alert (result); // affiche 56 et non 11 car les variables « chiffre1 » et « chiffre2 » dont les valeurs ont été assignées via prompt() sont par défaut considérées comme de type « string ». // La solution pour y remédier: result = parseInt(first) + parseInt(second); alert(result); // affiche enfin 11 Auteur : Olivier Martin pour la 3W Academy
  • 13. Les operateurs • L’opérateur « + » Permet d’additionner 2 valeurs numériques ou de mettre bout-à-bout plusieurs variables. var v1 = 5 , v2 = 10 , v3 = ‘un texte’; var somme = v1 + v2 ; // vaut 15 var somme2 = v1 + v3 + v2; // vaut « 5 un text 10 » • Opérateurs « - », « * » « / » : Permet de faire des soustractions, multiplications et divisions sur des variables de type « number ». var v1 = 5 , v2 = 3 , v3 = 10; var operation = ((v1 - v2) * v3) / v1; // vaut 4. Détail : ((5 - 3) x10) / 5) = 4 Auteur : Olivier Martin pour la 3W Academy
  • 14. Les operateurs • « % » (modulo) Affiche le reste d’une division. var mon_modulo = 11 % 2 ; // mon_modulo vaut 1 car 11 = 5x2 + 1 • « +=» Prend la valeur de la variable déclarée et lui ajouter la nouvelle valeur assignée : var v1 = 10 , v2 = ‘Du texte’ ; v1 += 5 ; // v1 vaut à présent 15 car 10 + 5 = 15 v2 += ‘encore plus long’ ; // v2 vaut « Du texte encore plus long » • «-=» « *=» « /=» «%=» : Fonctionne de la même manière que += mais que sur des valeurs de type « number ».
  • 15. LA CONCATENATION var v1 = ‘bonjour', v2 = ‘bonsoir', result; result = 'Bien le '+v1 +', bien le '+ v2+' !'; alert(result); // Affiche : « Bien le bonjour, bien le bonsoir ! » var result2 = v1+' et '+v2; alert(result2); // Affiche : « Bonjour et bonsoir» Auteur : Olivier Martin pour la 3W Academy
  • 16. Les conditions if, elseif et else If (Mettre une condition #1) { Exécuter du code si condition#1 est respectée… } elseif (Mettre une autre condition #2) { Code qui s’exécute si la condition#1 n’est pas respectée mais si la condition #2 est respectée… } else { Code qui s’exécute si condition#1 et condition#1 ne sont pas respectées… } Remarque : elseif et else sont optionnels. Vous pouvez aussi mettre une infinité de « elseif » mais un seul « else » à la suite d’une condition en « if » Auteur : Olivier Martin pour la 3W Academy
  • 17. Opérateurs de comparaison var mavariable = true; // Cela équivaut à écrire « var mavariable = 1; » // L’exemple ci dessous affichera « Bien égale à 1 » : if(mavariable == 1) { alert(‘Bien égal à 1’); } else { alert(‘Pas égale à 1’); } // L’exemple si dessous affichera « Pas égale à 1 » : if(mavariable === '1') { // ici ’10’ est considéré comme une chaîne de caractère et non un entier à cause des apostrophes ‘’ alert(‘Bien égal à 1’); } else { alert(‘Pas égale à 1’); } Auteur : Olivier Martin pour la 3W Academy
  • 18. Opérateurs logiques var v1 = 20 , v2 = false ; if( v1 > 10 && v1 < 30) alert(‘OK’); // affichera OK If(v1 == 10 || v2 == false) alert(‘OK’); // affichera OK if(!v2) alert(‘OK’); // affichera OK Auteur : Olivier Martin pour la 3W Academy
  • 19. Les boucles #1 La boucle While : var v1; // on déclarer la variable locale v1 while (v1 % 1 !== 0){ v1 = prompt('entrer un entier'); } Explication : Tant que v1 n’est pas un nombre entier on redemande à l’utilisateur de renseigner v1 via la boite de dialogue « prompt ». Pour info : Le reste d’un entier divisé par 1 vaut toujours 0. Exemple : 10 % 1 = 0. C’est donc une bonne astuce pour vérifier si une variable est un nombre entier  Auteur : Olivier Martin pour la 3W Academy
  • 20. Les boucles #2 La boucle For #1: • Structure de la boucle for ({bloc d’initialisation} ; {bloc de condition} ; {bloc d’itération}){ // code à exécuter } • Exemple : for (var i = 1; i < 5; i++) { // la variable i s’incrémente de +1 à chaque exécution de la boucle. Une fois que i sera égal à 5 la condition i < 5 ne sera plus respectée et la boucle cessera de s’éxécuter. alert('Itération n°' + i); } // la boucle va s’exécuter 5 fois et afficher successivement une alerte contenant « Itération n°1 » , « Itération n°2 » , etc. jusqu’à « Itération n°5 » Auteur : Olivier Martin pour la 3W Academy
  • 21. La boucle For (variante) : • Exemple sur un tableau (array): var my_array = [‘john’, ‘sophie’,’thomas’]; for (var id in my_array ) { // la variable id correspond à l’index soit 0,1 et 2 dans notre exemple alert(my_array[id]); // affiche john , puis sophie , puis thomas } • Exemple sur un object litéral : var my_object = { ‘prenom’ : ‘john’, ‘nom’:’Do’, ‘genre’ : ‘homme’ }; for (var id in my_object ) { // la variable id correspond à l’index prenom , nom et genre alert(my_object[id]); // affiche john , Do puis homme en 3ème exécution } Les boucles #3 Auteur : Olivier Martin pour la 3W Academy
  • 22. Les fonctions function Nom_De_Ma_Fonction(arguments){ // Le code que la fonction va devoir exécuter } • Exemple : function somme(arg1,arg2){ return arg1 + arg2; } alert(somme(10,20)); // affiche « 30 » Auteur : Olivier Martin pour la 3W Academy
  • 23. Les tableaux (Array) et Objets littéraux Les array : • Exemple : var languages = [‘html’ , ‘css’ , ’js’ , ‘php’ , ‘mysql’]; alert(languages[1]); // affiche «css» alert(languages[4]); // affiche «mysql» Identifiant 0 1 2 3 4 Données html css js php mysql Auteur : Olivier Martin pour la 3W Academy
  • 24. Parcourir un Array : var languages = [‘HTML’ , ‘CSS’ , ’JS’ , ‘PHP’ , ‘MYSQL’]; for (i = 0, c = languages.length ; i < c ; i++) { document.write(‘- ‘+languages[i]+’ <br>’); } Ajouter une ou plusieurs données dans l’array : languages.push(‘jQuery’); // on utilise la méthode push(); languages.push(‘PYTHON’ , ’RUBY’); // on ajoute plusieurs données à la volée - HTML - CSS - JS - PHP - MYSQL Résultat: Auteur : Olivier Martin pour la 3W Academy
  • 25. Les tableaux (Array) et Objets littéraux Les objets littéraux : • Exemple : var personage = {prenom : ‘Tony’ , nom : ‘Stark’ , age : 35}; alert(personage[‘nom’]); // affiche «Stark» alert(personage.nom); // affiche également «Stark» Identifiant prenom nom age Données Tony Stark 35 Auteur : Olivier Martin pour la 3W Academy
  • 26. Parcourir un objet littéral : var personage = {prenom : ‘Tony’ , nom : ‘Stark’ , age : 35}; for (var index in personage) { document.write(‘- ’+index +’ : ‘+ personage[index]+’ <br>’); } Ajouter ou modifier une propriété : personage.ville = ‘lyon’; //si la propriété « ville » de l’objet littéral « personnage » n’existe pas alors elle est créé; sinon elle est modifiée. - prenom : Tony - nom : Stark - age : 35 Résultat :
  • 27. Le javascript est un langage orienté objet Chaque variable contient un objet sur lequel on peut lire des propriétés et appliquer des méthodes. Exemple : var objet1 = [‘HTML’, ‘CSS’,’JS’]; // objet1 est un objet de type Array console.log(objet1.length); // on lit la propriété « length » qui vaut 3 console.log(objet1.join(‘-’)); // on applique la méthode « join » ce qui produit l’affichage de « HTML-CSS-JS » dans la console LA POO (Programmation Orientée Objet) Auteur : Olivier Martin pour la 3W Academy
  • 28. LA POO (Programmation Orientée Objet) LES OBJETS NATIFS Exemple d’un objet natif javascript « window » : • Window ontient des propriétés telles que : window.innerWidth // renvoi la largeur interne window.innerHeight // renvoi la hauteur interne • Mais aussi des méthodes : Window.close() // ferme la fenêtre en cours window.print() //Ouvre la boîte de dialogue d'impression du document courant. Autres objets natifs : console , document … En savoir plus sur les propriétés et méthode de l’objet windows sur : https://developer.mozilla.org/fr/docs/DOM/window innerWidth innerHeight
  • 29. LA POO (Programmation Orientée Objet) function voiture (color,mark, power) { // on défini les propriétés this.couleur= color; this,marque = mark; this.puissance = power ; this.vitesse = 0 ; // peut être amenée à varier // on défini les méthodes this.tourner = function (angle=10){ // code qui ferait tourner la voiture en fonction de l’angle défini. Par défaut on fait tourner la voiture de 10°. } this.accelerer = function (){ // mettre du code qui ferait augmenté la proprité vitesse, } this.freiner = function (){// mettre du code qui ferait diminuer la proprité vitesse, } this.klaxoner = function (){ // mettre du code qui provoquerai l’émission d’ un son de klaxon depuis un fichier .wav ou .mp3 } } Caractéristiques (Propriétés) : - Couleur : Blanche - Marque : Lamborghini - Puissance : 492 ch - Vitesse : de 0 à 320 km/h Fonctionalités (Méthodes) : - Tourner - Accélérer - Freiner - Klaxonner Objet constructeurExemple imagé avec une voiture Création des instances de l’objet voiture // on créer une instance de l’objet voiture : var lamborghini = new voiture(‘blanche‘, ‘Lamborghini’,492); // on peut aussi créer une seconde instance : var fiat_panda = new voiture(‘rouge‘ , ‘Fiat panda’ , 100); alert(lamborghini.couleur); // affiche blanche lamborghini.accelerer(); // on augmente la propriété vitesse de l’objet lamborghini via sa méthode accelerer(); setTimeout(function(){alert(lamborghini.vitesse); }, 4000); // affiche la propriété « vitesse » de l’objet lamborghini après 4 secondes d’accélération soit : 100 km/ h
  • 30. Ressources pour continuer d’apprendre soi- même : - Wikibooks : http://fr.wikibooks.org/wiki/Programmation_JavaScript - OpenClassroom : http://openclassrooms.com/courses/dynamisez- vos-sites-web-avec-javascript - Codecademy : http://www.codecademy.com/fr/tracks/javascript - 3WA : http://javascript.3wa.fr Auteur : Olivier Martin pour la 3W Academy
  • 31. A SUIVRE… Auteur : Olivier Martin pour la 3W Academy