SlideShare une entreprise Scribd logo
Javascript : Fonctions for pgm
1. Fonction anonyme
Définition d’une fonction anonyme (1) 
function() { 
alert('Hello ladies!'); 
}; 
(function() { 
alert('Hello ladies!'); 
});
Définition d’une fonction anonyme (2) 
var hello = function() { 
alert('Hello ladies!'); 
}; 
! 
hello();
Executer une fonction anonyme 
(function(){ 
alert('Tagada!'); 
})(); 
(function(x){ 
alert('Tagada ' + x + ' ' + x + '!'); 
})('tsoin');
Callback 
function saySomething(fct){ 
fct(); 
} 
function youpi(){ 
alert('Youpi!'); 
} 
var tagada = function(){ 
alert('Tagada!'); 
} 
! 
saySomething(youpi); 
saySomething(tagada);
2. Timing
Fonctions temporelles 
The setTimeout() method calls a function or 
evaluates an expression after a specified number of 
milliseconds. 
Source : w3schools.com 
The setInterval() method calls a function or 
evaluates an expression at specified intervals (in 
milliseconds). 
Source : w3schools.com
setTimeout() 
function sayHello(){ 
alert('Hello!'); 
} 
! 
setTimeout(sayHello, 2000); 
setTimeout(function(){ 
alert('Hello!'); 
}, 2000);
setInterval() 
function sayHello(){ 
alert('Hello!'); 
} 
! 
setInterval(sayHello, 2000); 
setInterval(function(){ 
alert('Hello!'); 
}, 2000);
Paramètres 
setInterval(function(name){ 
alert('Hello ' + name + '!'); 
}, 2000, 'toto');
Arrêter une fonction temporelle 
var test = setTimeout(function(name){ 
alert('Hello ' + name + '!'); 
}, 2000, 'toto'); 
! 
clearTimeout(test);
3. Closure
Closure ? 
Dans un langage de programmation, une fermeture 
ou clôture (en anglais, closure) est une fonction qui 
capture des références à des variables libres dans 
l'environnement lexical. 
Source : wikipedia.org
Closure ? 
function operation(x) { 
function plus(y) { 
return x + y; 
} 
return plus; 
} 
! 
var a = operation(10); 
alert( a(2) );
Exemple 
for(var i = 0; i < 3; i++) { 
setTimeout( 
function() { alert(i) }, 
1000 
); 
} 
// 3 / 3 / 3 
for(var i = 0; i < 3; i++) { 
setTimeout( 
( function(it) { 
return function() { 
alert( it ); 
}; 
} ) ( i ), 
1000 
); 
} 
// 0 / 1 / 2
4. Mise en pratique
Quelques fonctions utiles 
var text = 'youpi'; 
console.log(text.length); // 5 
console.log(text.charAt(2)); // u
Exercice 1 : Memento 
Créer une page web permettant de jouer à un jeu consistant 
à mémoriser une chaine de caractère. 
Le jeu génère une chaine de caractère aléatoire, l’affiche à 
l’utilisateur puis cache cette chaine pendant 5 secondes et lui 
demande de la saisir à nouveau. 
Si l’utilisateur entre la bonne réponse, le jeu continue sinon le 
jeu s’arrête et affiche le score. 
Toute les 5 réponses correctes, la chaine à mémoriser 
augmenter de 1 caractère. 
35 instructions maximum
Merci pour votre attention.
Bibliographie 
Eloquent JavaScript - Marijn Haverbeke 
http://eloquentjavascript.net 
Dynamisez vos sites web avec Javascript ! - Johann Pardanaud & Sébastien de la Marck 
http://fr.openclassrooms.com/informatique/cours/dynamisez-vos-sites-web-avec-javascript 
JavaScript Fundamentals - Jeremy McPeak 
http://code.tutsplus.com/courses/javascript-fundamentals 
Guide JavaScript - teoli, BenoitL, delislejm, Ame_Nomade, SphinxKnight 
https://developer.mozilla.org/fr/docs/Web/JavaScript/Guide

Contenu connexe

PDF
Fondamentaux portée - contexte - function ms tech days
PDF
Game camp 2017 - "Pesto, un langage pour coder les IAs" - Pastagames
PPTX
Présentation de ECMAScript 6
PPTX
Change mind about JS
ODP
Introduction à JavaScript
PPTX
Javascript un langage supérieur
PPTX
Cours javascript v1
PDF
Javascript les générateurs (generators)
Fondamentaux portée - contexte - function ms tech days
Game camp 2017 - "Pesto, un langage pour coder les IAs" - Pastagames
Présentation de ECMAScript 6
Change mind about JS
Introduction à JavaScript
Javascript un langage supérieur
Cours javascript v1
Javascript les générateurs (generators)

Tendances (16)

PPTX
Cours tp2
PDF
CocoaHeads Rennes #1 : Grand Central Dispatch
PPTX
Les bases du javascript
PPTX
Javascript - Tableaux : que fait ce code ?
PPTX
Javascript - Fonctions : que fait ce code ?
PPTX
Initiation au code : Ateliers en C# (applications desktop et mobile native)
PPTX
Javascript objet : que fait ce code ?
DOCX
Compte rendu jess
PDF
Cours java script
PDF
Python avancé : Qualité de code et convention de codage
PDF
Ch11
PDF
Introduction à Python - Achraf Kacimi El Hassani
PDF
Good or Evil: les fonctions anonymes en Javascript
PDF
BEBUTANT JAVA
ODP
Tp-jquery
PPTX
HumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du tout
Cours tp2
CocoaHeads Rennes #1 : Grand Central Dispatch
Les bases du javascript
Javascript - Tableaux : que fait ce code ?
Javascript - Fonctions : que fait ce code ?
Initiation au code : Ateliers en C# (applications desktop et mobile native)
Javascript objet : que fait ce code ?
Compte rendu jess
Cours java script
Python avancé : Qualité de code et convention de codage
Ch11
Introduction à Python - Achraf Kacimi El Hassani
Good or Evil: les fonctions anonymes en Javascript
BEBUTANT JAVA
Tp-jquery
HumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du tout
Publicité

En vedette (20)

PDF
Javascript #7 : manipuler le dom
PDF
Javascript #2.2 : jQuery
PDF
PHP #3 : tableaux & formulaires
PDF
Javascript #2 : valeurs, types & opérateurs
PDF
PHP #7 : guess who?
PDF
Architecture logicielle #4 : mvc
PDF
Dev Web 101 #2 : development for dummies
PDF
Javascript #11: Space invader
PDF
Html & Css #6 : formulaires
PDF
Architecture logicielle #3 : object oriented design
PDF
Gestion de projet #4 : spécification
PDF
Les modèles économiques du web
PDF
#1 entreprendre au xxiè siècle
PDF
Javascript #9 : barbarian quest
PDF
Javascript #3 : boucles & conditions
PDF
Projet timezone
PDF
Wordpress #2 : customisation
PDF
Architecture logicielle #5 : hipsto framework
PDF
Gestion de projet #3 : besoin client
PDF
Javascript #8 : événements
Javascript #7 : manipuler le dom
Javascript #2.2 : jQuery
PHP #3 : tableaux & formulaires
Javascript #2 : valeurs, types & opérateurs
PHP #7 : guess who?
Architecture logicielle #4 : mvc
Dev Web 101 #2 : development for dummies
Javascript #11: Space invader
Html & Css #6 : formulaires
Architecture logicielle #3 : object oriented design
Gestion de projet #4 : spécification
Les modèles économiques du web
#1 entreprendre au xxiè siècle
Javascript #9 : barbarian quest
Javascript #3 : boucles & conditions
Projet timezone
Wordpress #2 : customisation
Architecture logicielle #5 : hipsto framework
Gestion de projet #3 : besoin client
Javascript #8 : événements
Publicité

Similaire à Javascript #4.2 : fonctions for pgm (20)

PPT
Introduction à JavaScript
PDF
Javascript #4.1 : fonctions for noobs
PPT
Eléments de base du langage JavaScript (1).ppt
PPTX
Introduction à JavaScript
PDF
Notions de base de JavaScript
PDF
Johnny-Five : Robotique et IoT en JavaScript
PPT
Ch2. Objets de base du JS.ppt semestre 1
PPT
introJavaScript.ppt
PPTX
javascript cours developpement nbhdjcbhdcjbn
PPTX
JavaScript prise en main et fondamentaux
PPTX
Présentation Javascript à l'ESI (Alger)
PDF
Javascript mémo.pdf
PDF
Cours JavaScript
PPT
initiation au javascript
PPTX
Introduction-au-JavaScript + programmation orientée objet.pptx
DOCX
les fonctions, les procedures, les tableaux en Javascript Pc.docx
PDF
La programmation fonctionnelle en javascript / PF
PDF
le Langage de programmation JavaScript.pdf
PDF
cours developpement web javascript 2023/2024
PDF
Function oop - bonnes pratiques ms tech days
Introduction à JavaScript
Javascript #4.1 : fonctions for noobs
Eléments de base du langage JavaScript (1).ppt
Introduction à JavaScript
Notions de base de JavaScript
Johnny-Five : Robotique et IoT en JavaScript
Ch2. Objets de base du JS.ppt semestre 1
introJavaScript.ppt
javascript cours developpement nbhdjcbhdcjbn
JavaScript prise en main et fondamentaux
Présentation Javascript à l'ESI (Alger)
Javascript mémo.pdf
Cours JavaScript
initiation au javascript
Introduction-au-JavaScript + programmation orientée objet.pptx
les fonctions, les procedures, les tableaux en Javascript Pc.docx
La programmation fonctionnelle en javascript / PF
le Langage de programmation JavaScript.pdf
cours developpement web javascript 2023/2024
Function oop - bonnes pratiques ms tech days

Plus de Jean Michel (18)

PDF
Startup #7 : how to get customers
PDF
HTML & CSS #10 : Bootstrap
PDF
Javascript #10 : canvas
PDF
Wordpress #3 : content strategie
PDF
Architecture logicielle #2 : TP timezone
PDF
Architecture logicielle #1 : introduction
PDF
Wordpress #1 : introduction
PDF
PHP #6 : mysql
PDF
PHP & MYSQL #5 : fonctions
PDF
PHP #4 : sessions & cookies
PDF
PHP #2 : variables, conditions & boucles
PDF
PHP #1 : introduction
PDF
Startup #5 : pitch
PDF
WebApp #4 : Consuming REST APIs
PDF
Projet timezone
PDF
WebApp #3 : API
PDF
WebApp #2 : responsive design
PDF
WebApp #1 : introduction
Startup #7 : how to get customers
HTML & CSS #10 : Bootstrap
Javascript #10 : canvas
Wordpress #3 : content strategie
Architecture logicielle #2 : TP timezone
Architecture logicielle #1 : introduction
Wordpress #1 : introduction
PHP #6 : mysql
PHP & MYSQL #5 : fonctions
PHP #4 : sessions & cookies
PHP #2 : variables, conditions & boucles
PHP #1 : introduction
Startup #5 : pitch
WebApp #4 : Consuming REST APIs
Projet timezone
WebApp #3 : API
WebApp #2 : responsive design
WebApp #1 : introduction

Javascript #4.2 : fonctions for pgm

  • 3. Définition d’une fonction anonyme (1) function() { alert('Hello ladies!'); }; (function() { alert('Hello ladies!'); });
  • 4. Définition d’une fonction anonyme (2) var hello = function() { alert('Hello ladies!'); }; ! hello();
  • 5. Executer une fonction anonyme (function(){ alert('Tagada!'); })(); (function(x){ alert('Tagada ' + x + ' ' + x + '!'); })('tsoin');
  • 6. Callback function saySomething(fct){ fct(); } function youpi(){ alert('Youpi!'); } var tagada = function(){ alert('Tagada!'); } ! saySomething(youpi); saySomething(tagada);
  • 8. Fonctions temporelles The setTimeout() method calls a function or evaluates an expression after a specified number of milliseconds. Source : w3schools.com The setInterval() method calls a function or evaluates an expression at specified intervals (in milliseconds). Source : w3schools.com
  • 9. setTimeout() function sayHello(){ alert('Hello!'); } ! setTimeout(sayHello, 2000); setTimeout(function(){ alert('Hello!'); }, 2000);
  • 10. setInterval() function sayHello(){ alert('Hello!'); } ! setInterval(sayHello, 2000); setInterval(function(){ alert('Hello!'); }, 2000);
  • 11. Paramètres setInterval(function(name){ alert('Hello ' + name + '!'); }, 2000, 'toto');
  • 12. Arrêter une fonction temporelle var test = setTimeout(function(name){ alert('Hello ' + name + '!'); }, 2000, 'toto'); ! clearTimeout(test);
  • 14. Closure ? Dans un langage de programmation, une fermeture ou clôture (en anglais, closure) est une fonction qui capture des références à des variables libres dans l'environnement lexical. Source : wikipedia.org
  • 15. Closure ? function operation(x) { function plus(y) { return x + y; } return plus; } ! var a = operation(10); alert( a(2) );
  • 16. Exemple for(var i = 0; i < 3; i++) { setTimeout( function() { alert(i) }, 1000 ); } // 3 / 3 / 3 for(var i = 0; i < 3; i++) { setTimeout( ( function(it) { return function() { alert( it ); }; } ) ( i ), 1000 ); } // 0 / 1 / 2
  • 17. 4. Mise en pratique
  • 18. Quelques fonctions utiles var text = 'youpi'; console.log(text.length); // 5 console.log(text.charAt(2)); // u
  • 19. Exercice 1 : Memento Créer une page web permettant de jouer à un jeu consistant à mémoriser une chaine de caractère. Le jeu génère une chaine de caractère aléatoire, l’affiche à l’utilisateur puis cache cette chaine pendant 5 secondes et lui demande de la saisir à nouveau. Si l’utilisateur entre la bonne réponse, le jeu continue sinon le jeu s’arrête et affiche le score. Toute les 5 réponses correctes, la chaine à mémoriser augmenter de 1 caractère. 35 instructions maximum
  • 20. Merci pour votre attention.
  • 21. Bibliographie Eloquent JavaScript - Marijn Haverbeke http://eloquentjavascript.net Dynamisez vos sites web avec Javascript ! - Johann Pardanaud & Sébastien de la Marck http://fr.openclassrooms.com/informatique/cours/dynamisez-vos-sites-web-avec-javascript JavaScript Fundamentals - Jeremy McPeak http://code.tutsplus.com/courses/javascript-fundamentals Guide JavaScript - teoli, BenoitL, delislejm, Ame_Nomade, SphinxKnight https://developer.mozilla.org/fr/docs/Web/JavaScript/Guide