Les variables
Variable |
Description |
var |
Permet de déclarer une variable globale, sa valeur peut être réaffectées. |
let |
Permet de déclarer une variable avec une portée limitée à un bloc. |
const |
Permet de déclarer une constante sa valeur doit être initier et ne pourra pas être réaffectées. |
Exemple
var maVariable;
maVariable = 2;
const = 2;
Les types de données
Les nombres :
var number = 2;
Les chaines de caractères :
var texte = "Une chaine de caractère";
Les booléens :
var vrai = true,
faux = false ;
Il est possible d'appeler différents types de données. Par exemple :
var paragraphe = "numéro du paragraphe" + numero;
Les tableaux
Les tableaux permettent de déclarer et stocker plusieurs valeurs sous la forme d'une liste.
Methode |
Description |
length |
Donne la longeur des éléments du tableau. |
[i] |
Donne le nom de l'élément de l'index i. |
indexOf() |
Donne l'index de l'élément dans le tableau. |
push |
Ajoute un élément en fin de tableau. |
unshift |
Ajoute un élément au début du tableau. |
pop() |
Retire le dernier élément du tableau. |
shift() |
Retire le premier élément du tableau. |
splice(i) |
Permet d'ajouter ou retirer un élément du tableau en fonction de son index. |
includes() |
Permet de chercher un élément dans le tableau. |
Exemples
var myArray = new Array();
var fruits = ["Pomme", "Framboise", "Cerise"];
Accéder à l'élément d'un tableau
fruits[0];
fruits.length;
fruits[fruits.length - 1];
fruits.indexOf("Pomme");
Ajouter un élément à un tableau
fruits.push("Kiwi", "Poire" );
fruits.unshift("Banane", "Ananas" );
Retirer un élément d'un tableau
var fruits = ["Pomme", "Framboise", "Cerise"];
var last = fruits.pop();
var first = fruits.shift();
Ajouter ou retirer un élément à n'importe quel position
var fruits = ["Pomme", "Framboise", "Cerise"];
fruits.splice(0,1);
fruits.splice(1, 0, "Kiwi", "Poire" );
fruits.splice(1, 1, "Banane", "Ananas" );
Chercher dans un tableau
fruits.includes("Pomme");
fruits.includes("Citron");
Déclarer un objet :
var monLivre = {
titre: "Titre du livre",
autheur: "Nom de l'autheur",
annee: 2021
}
Déclarer des tableaux d'objets :
var monLivre = [
{
titre: "Titre du livre 1",
autheur: "Nom de l'autheur 1",
annee: 2021
},
{
titre: "Titre du livre 2",
autheur: "Nom de l'autheur 2",
annee: 2022
}
]
Déclarer des objets complexes :
{
titre: "Titre du livre 2",
autheur: "Nom de l'autheur 2",
annee: 2022,
format : {
broche: true,
poche: true,
kindle: false
}
}
Accéder à une informations :
monLivre.annee;
Ajouter de nouvelles informations :
monLivre.lu = true ;
Supprimer des informations :
delete monLivre.annee;
Il est possible de faire des modèles d'objet, que l'on appelle des classes. Par exemple :
class livre{
constructor(titre, autheur, annee){
this.titre = titre;
this.autheur = autheur;
this.annee = annee;
}
}
On peut ensuite créer un nouvel objet basé sur le modèle, en utilisant l'ordre donné lors de la construction :
var nouveauLivre = new livre("Titre du livre", "Nom de l'autheur", 2021);
Algorithmie
Liste des opérateurs arithmetic
Opérateur |
Description |
= |
Assigne une valeur. |
+ |
Permet d'ajouter une valeur. |
- |
Permet de soustraire une valeur. |
* |
Permet de multiplier une valeur. |
/ |
Permet de diviseur une valeur. |
% |
Permet de faire un modulo d'une valeur. |
+= |
Ajoute et assigne la valeur. |
-= |
Soustrait et assigne la valeur. |
*= |
Multiplie et assigne la valeur. |
/= |
Divise et assigne la valeur. |
%= |
Fait le modulo et assigne la valeur. |
++ |
Permet d'incrémenter de 1. |
-- |
Permet de décrémenter de 1. |
Exemples
Opérations simple et modulo
var x = 10;
var y = 4;
x + y;
x - y;
x * y;
x / y;
x % y;
Opérations et assignement
var x = 10;
x += 30;
x -= 20;
x *= 25;
x /= 10;
x %= 15;
Avec une chaine de caractère
var str1 = "Hello";
var str2 = "World!";
console.log(str1 + str2);
Différence d'incrémentation entre ++x
etc++x
x = 10;
console.log(++x);
console.log(x);
x = 10;
console.log(x++);
console.log(x);
Les écouteurs d'évenements
Évenement |
Description |
addEventListener() |
Ajoute un écouteur d'évenement. |
removeEventListener() |
Retire un écouteur d'évenement. |
click |
Au clic. |
input |
Tant que l'élément de type input garde le focus. |
change |
Quand l'élement de type input perd le focus. |
mousemove |
Quand la souris est en mouvement. |
mouseover |
Quand la souris est au survol. |
mouseout |
Quand la souris ne survol plus. |
keydown |
Quand une touche du clavier est appuyée. |
scroll |
Détecte le scroll dans la page ou sur un élément. |
transitionstart |
Détecte le début d'une transition. |
transitionend |
Détecte la fin d'une transition. |
animationstart |
Détecte le début d'une animation. |
animationend |
Détecte la fin d'une animation. |
animationend |
Détecte la fin d'une animation. |
drag |
Détecte lorsqu'un élément est glissé. |
drop |
Détecte lorsqu'un élément est déposé dans une zone valide. |
load |
Détecte la fin d'un chargement. |
Les boucles
Cette boucle exécute les intructions pour chaque élément.
Exemple avec un tableau :
var fruits = ["Pomme", "Framboise", "Cerise"];
for(var fruit of fruits) {
console.log(fruit)
}
Exemple avec un élément :
var mesElements = document.querySelectorAll("bouton");
for (var element of elements){
console.log(element);
}
Cette boucle est une variante de la boucle for of. Mais avec cette méthode on va pouvoir indexer, les éléments et les isoler en fonction de leur indice.
var fruits = ["Pomme", "Framboise", "Cerise"];
for(var fruit in fruits) {
console.log(fruit + fruits[fruit]);
}
Exemple avec un objet :
var person = {"titre": "Titre du livre", "autheur": "Nom de l'autheur", "annee": "2021"};
for (var info in livre) {
console.log(info + livre[info]);
}
La boucle for prend trois paramètres :
for (initialization; condition; increment) {
}
- initialisation - est utilisé pour initialiser les variables du compteur, et évalué une fois sans condition avant la première exécution de la boucle.
- condition - est évaluée au début de chaque boucle, tant que la condition est remplie la boucle continue.
- increment - met à jour la boucle avec une nouvelle valeur à chaque execution.
L'exemple suivant définit une boucle qui commence avec i=1. La boucle se poursuivra jusqu'à ce que la valeur de la variable i soit inférieure ou égale à 5. La variable i augmente de 1 à chaque fois que la boucle est exécutée :
for(var i=1; i<=5; i++) {
console.log(i);
}
Exemple avec un tableau :
var fruits = ["Pomme", "Framboise", "Cerise"];
for(var i=0; i<fruits.length; i++) {
console.log(i + fruits[i]);
}
La fonction agit un peu comme un tableau, elle va placer chaque éléments dans une liste.
Elle peut ainsi prendre en compte trois paramètres (comme des variables, on peut les nommer selon notre choix), qui sont dans l'ordre :
- l'élément individuel,
- le numéro de l'élément dans la liste (son index),
- et l'ensemble du tableau créé
var mesElements = document.querySelectorAll('p');
mesElements.forEach(function(element, index, array){
element.textContent += '(paragraphe n°:' + index + ')';
});
Exemple avec un tableau :
var numbers = [1, 2, 3, 4, 5, 6];
numbers.forEach(function(value, index, array){
array[index] = value * value;
});
console.log(numbers);
Exemple avec un évenement :
var button = document.querySelectorAll("button");
button.forEach(function(bouton){
bouton.addEventListener("click", function(){
bouton.style.backgroundColor = "red";
})
});
Cette boucle effectue les instructions tant que la condition spécifiée est vraie, si celle-ci est fausse la boucle ne sera jamais exécuté.
Exemple
var i = 1;
while(i <= 5) {
console.log("<p>Numéro " + i + "</p>");
i++;
}
La boucle while do est une variante de la boucle while, à la différence qu'elle exécute la condition en fin d'instruction, elle sera donc toujours exécutée une fois.
Exemple
var i = 1;
do {
console.log("<p>Numéro " + i + "</p>");
i++;
}
while(i <= 5);
Les conditions
Permet d’exécuter une instruction SI la condition est remplie.
Exemple
var now = new Date(),
dayOfWeek = now.getDay();
if(dayOfWeek == 5) {
console.log("Bon weekend !");
}
If else
Exemple
Permet d’exécuter une instruction SI la condition est remplie SINON on exécute une autre instruction.
if(dayOfWeek == 5) {
console.log("Bon weekend !");
} else {
console.log("Bonne journée !");
}
Else if
Permet d'ajouter des conditions supplémentaires dans le cas ou les précédentes ne sont pas remplies.
Exemple
if(dayOfWeek == 5) {
console.log("Bon weekend !");
} else if(dayOfWeek == 0) {
console.log("Have a nice Sunday!");
} else {
console.log("Bonne journée !");
}
L'opérateur ternaire est une façon abrégée d'écrire les instructions if...else
.
Il est représenté par le symbole du point d'interrogation ?
et il prend trois opérandes : une condition à vérifier, un résultat pour true
, et un résultat pour false
.
Exemple
var age = 21;
var userType = age < 18 ? 'enfant' : 'Adulte';
console.log(userType);
Cela revient au même que d'écrire :
var userType;
var age = 21;
if(age < 18) {
userType = 'enfant';
} else {
userType = 'Adulte';
}
console.log(userType);
Permet de basculer d'un cas à l'autre en fonction d'une valeur.
switch(maValeur){
case "valeur1":
break;
case "valeur2":
break;
default:
}
Exemple
var d = new Date();
switch(d.getDay()) {
case 0:
console.log("Dimanche");
break;
case 1:
console.log("Lundi");
break;
case 2:
console.log("Mardi");
break;
case 3:
console.log("Mercredi");
break;
case 4:
console.log("Jeudi");
break;
case 5:
console.log("Vendredi");
break;
case 6:
console.log("Samedi");
break;
}
Les opérateurs
Opérateurs comparatifs
Opérateur |
Description |
< |
Inférieur à. |
<= |
Inférieur ou égal à. |
> |
Supérieur à. |
>= |
Supérieur ou égal à. |
== |
Égal à. |
=== |
identique à. |
!= |
Différent de. |
!== |
Ne sont pas identique. |
Exemple
var x = 25;
var y = 35;
var z = "25";
console.log(x == z);
console.log(x === z);
console.log(x != y);
console.log(x !== z);
console.log(x < y);
console.log(x > y);
console.log(x <= y);
console.log(x >= y);
Opérateurs logiques
Opérateur |
Description |
&& |
Permet de vérifier si deux conditions sont vraies (signifie « ET »). |
|| |
Permet de vérifier si au moins une condition est vraie (signifie « OU »). |
! |
Permet de vérifier si une condition n'est pas vraie (signifie « NON »). |
Exemple
var year = 2018;
if((year % 400 == 0) || ((year % 100 != 0) && (year % 4 == 0))){
console.log("Année bissextiles");
} else {
console.log("Année non bissextiles");
}
Les fonctions
Les variables créées à l'interieur d'une fonction n'existent pas à l'exterieur de celle-ci.
Déclarer une fonction :
function maFonction(){
console.log("ma fonction se déclenche !");
}
Appeler une fonction :
maFonction();
Déclencher une fonction avec un écouteur d'évenement :
declencheFonction.addEventListener('click', maFonction);
Manipulation du DOM
Variable |
Description |
getElementsByTagName |
sélectionne une balise. |
getElementById |
sélectionne un identifiant. |
getElementsByClassName |
sélectionne une classe. |
querySelector |
permet de sélectionner avec un sélecteur CSS. |
querySelectorAll |
permet de sélectionner plusieurs éléments avec un sélecteur CSS. |
parentElement |
permet de sélectionner le parent d'un élément. |
children |
permet de sélectionner les enfants d'un élément. |
nextElementSibling |
sélectionne le prochain élément. |
previousElementSibling |
sélectionne l'élément précédent. |
Exemples
var paragraphe = document.querySelectorAll('.myClass p');
paragraphe.querySelectorAll('span');
Variable |
Description |
createElement |
Créé une balise HTML. |
appendChild |
Ajoute un élément en tant que dernier enfant. |
insertBefore |
Ajoute un élément avant un autre élément. |
removeChild |
Supprime un élément enfant. |
replaceChild |
Remplace un élément enfant. |
createTextNode |
Créé du contenu de type texte. |
insertAdjacentHTML |
Ajoute du contenu en HTML avant un élément. |
innerHTML |
Ajoute du contenu en HTML à la fin. |
Variable |
Description |
getAttribute |
Récupère la valeur du nom d'un attribut. |
setAttribute |
Permet d'ajouter un nom d'attribut et sa valeur. |
removeAttribute |
Supprime un attribut. |
classList.add |
Ajoute une classe. |
classList.remove |
Supprime une classe. |
classList.replace |
Remplace une classe. |
classList.contains |
Cherche si la classe contient la valeur. |
Il est possible d'assigner un attribut et sa valeur en passant directement par son nom. Par exemple :
monImage.src = "img/mon-image.png";
La date
Méthode |
Description |
getFullYear() |
renvoie l'année sur 4 chiffres. |
getMonth() |
renvoie le mois (0 à 11). |
getDate() |
renvoie le jour du mois (1 à 31). |
getDay() |
renvoie le jour de la semaine (0 à 6, la semaine commence le dimanche). |
getHours() |
renvoie l'heure (0 à 23). |
getMinutes() |
renvoie les minutes (0 à 59). |
getSeconds() |
renvoie les secondes (0 à 59). |
getMilliseconds() |
renvoie les millisecondes (0 à 999). |
Exemple
function timeRunnning(){
var horlogeRunning = new Date();
heure.innerHTML = horlogeRunning.getHours();
min.innerHTML = horlogeRunning.getMinutes();
sec.innerHTML = horlogeRunning.getSeconds();
interval = setTimeout(timeRunnning, 1000);
}
timeRunnning();
Il est aussi possible de récupérer la date d'un input de type date :
var inputDate = document.querySelector("input[type='date']").value;
var maDate = new Date(inputDate);
La méthode de calcule
Méthode |
Description |
floor |
Arrondi à l'entier inférieur le plus proche. |
round |
Arrondi à l'entier le plus proche. |
floor |
Arrondi à l'entier inférieur le plus proche. |
celi |
Arrondi à l'entier supérieur le plus proche. |
min |
Retourne la plus petite valeur. |
max |
Retourne la plus grande valeur. |
Exemples
console.log(Math.floor(9.99));
console.log(Math.round(3.5));
console.log(Math.round(-5.7));
console.log(Math.round(7.25));
console.log(Math.ceil(9.01));
var numbers = [1, 3, 2];
console.log(Math.max(...numbers));
console.log(Math.min(...numbers));
Les expressions régulières
Symbole |
Description |
f |
Matche le caractère f littéralement |
[ABC] |
Ce groupe de caractères matche A , B , OU C littéralement |
[A-Za-z] |
Matche tout l'alphabet, majuscule comme minuscule |
\d |
Equivalent à [0-9] |
\s |
Matche l'espace et le retour à la ligne (les whitespace en général) |
. |
Matche n'importe quel caractère |
$ |
Echappe le caractère $ pour le matcher littéralement |
{x, y} |
Répète l'élément précédent entre x et y fois |
{x, } |
Répète l'élément précédent au moins x fois (sans limite) |
* |
Equivalent à {0, } |
+ |
Equivalent à {1, } |
? |
Equivalent à {0, 1} |
^ |
Début de ligne |
$ |
Fin de ligne |
( ) |
Groupe capturant |
(?: ) |
Groupe non-capturant |
Exemple
var regex = /@/;
console.log(regex.test("etienne&mail.fr"));
console.log(regex.test("etienne@mail.fr"));