SlideShare una empresa de Scribd logo
1 de 17
Que fait ce code?
Les fonctions en Javascript
Objectif
A la fin de cette séance, vous serez capables d'écrire des
procédures et des fonctions en Javascript.
Vous aurez découvert la syntaxe objet des fonctions (mais
il nous reste encore du chemin à faire pour maîtriser les
objets en Javascript).
Conditions
Utilisez :
- un IDE (Netbeans, Aptana)
- et un navigateur avec des outils de développement (ex :
Firefox avec Firebug).
Critères d'évaluation
Vous réaliserez les fonctions de base d'une calculatrice à
partir du code à trous fourni.
Références
http://www.ecmascript.org/
ECMAScript Language Specification
Standard ECMA-262 3rd Edition - December 1999
ECMA-262 5.1 Edition - June 2011
http://www.crockford.com/javascript/survey.html
http://www.xul.fr/ecmascript/
http://www.javascriptkit.com/javatutors/closures.shtml
http://jpvincent.developpez.com/tutoriels/javascript/trois-fondamentaux-
javascript/
You talkin' to me?
function procedureYodaParler()
{
var sMsg = "Beaucoup encore il te reste à
apprendre."
alert(sMsg);
}
procedureYodaParler();
Le retour du jeudi
function fonctionYodaPenser()
{
var sMsg = "Tu dois désapprendre"
+ " tout ce que tu as appris";
return sMsg;
}
alert(YodaPenser());
Ca vous barbe?
function procedureAfficherMessage(sMsg)
{
alert(sMsg);
}
monMessage = "Une bourse d'or me paraît toujours"
+ " un argument sans réplique.";
procedureAfficherMessage(monMessage );
A court d'arguments?
function procedureAfficherMessages()
{
var sMsg = "";
for(i = 0; i < arguments.length; i++)
{
sMsg += arguments[i] + "n";
}
alert(sMsg);
}
var mesMessages = ["Carpe Diem.", "Profitez du jour présent.",
"Que vos vies soient extraordinaires!"];
procedureAfficherMessages(mesMessages);
Je ne suis pas (qu')un objet!
window.additionner = new Function("a", "b", "return a + b");
additionner(2, 6);// affiche 8
Construisons ensemble
une calculatrice
Code à trous
Complétez le code source fourni.
Lorsque l'utilisateur appuie sur le bouton d'un opérateur
arithmétique:
la valeur saisie ou l'opérateur choisi est mémorisé
Lorsque l'utilisateur appuie sur le bouton "=", l'opération est
exécutée et le résultat est affiché dans le champ de saisie.
(Cette calculatrice ne sait réaliser qu'une opération simple à la fois).
Vrai ou faux?
Que fait ce code?
N'habite pas à l'adresse indiquée...
if( !window.faireQqchose )
{
sMsg = "I'm sorry Dave."
+ " I'm afraid I Can't do that...";
alert (sMsg);
}
Bilan
Objectif atteint?
Fin
La série “Que fait ce code?”
de Mickael Ruau
est mise à disposition selon les termes de la
licence Creative Commons Attribution -
Pas d’Utilisation Commerciale -
Partage dans les Mêmes Conditions 4.0 International.
Les autorisations au-delà du champ de cette licence
peuvent être obtenues à
creativecommons@ShakerTechnologies.com.

Más contenido relacionado

La actualidad más candente

Retour à la simplicité
Retour à la simplicitéRetour à la simplicité
Retour à la simplicité
Montreal JUG
 

La actualidad más candente (19)

Cours php
Cours phpCours php
Cours php
 
Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5
 
Programmation Orientée Objet et les Traits en PHP 5.4
Programmation Orientée Objet et les Traits en PHP 5.4Programmation Orientée Objet et les Traits en PHP 5.4
Programmation Orientée Objet et les Traits en PHP 5.4
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVC
 
Nouveautés JavaScript dans le monde Microsoft
Nouveautés JavaScript dans le monde MicrosoftNouveautés JavaScript dans le monde Microsoft
Nouveautés JavaScript dans le monde Microsoft
 
Javascript : fondamentaux et OOP
Javascript : fondamentaux et OOPJavascript : fondamentaux et OOP
Javascript : fondamentaux et OOP
 
CocoaHeads Rennes #13 : Magical Record
CocoaHeads Rennes #13 : Magical RecordCocoaHeads Rennes #13 : Magical Record
CocoaHeads Rennes #13 : Magical Record
 
Javascript #9 : barbarian quest
Javascript #9 : barbarian questJavascript #9 : barbarian quest
Javascript #9 : barbarian quest
 
CocoaHeads Rennes #9 : Gestion mémoire, du débutant à l'expert
CocoaHeads Rennes #9 : Gestion mémoire, du débutant à l'expertCocoaHeads Rennes #9 : Gestion mémoire, du débutant à l'expert
CocoaHeads Rennes #9 : Gestion mémoire, du débutant à l'expert
 
Comprendre les scripts shell auto-extractible
Comprendre les scripts shell auto-extractibleComprendre les scripts shell auto-extractible
Comprendre les scripts shell auto-extractible
 
Introduction a jQuery
Introduction a jQueryIntroduction a jQuery
Introduction a jQuery
 
Présentation JavaScript
Présentation JavaScriptPrésentation JavaScript
Présentation JavaScript
 
Javascript proprement
Javascript proprementJavascript proprement
Javascript proprement
 
Introduction au Jquery
Introduction au JqueryIntroduction au Jquery
Introduction au Jquery
 
Retour à la simplicité
Retour à la simplicitéRetour à la simplicité
Retour à la simplicité
 
Promises Javascript
Promises JavascriptPromises Javascript
Promises Javascript
 
Sirikit par Julien Coudsi
Sirikit par Julien CoudsiSirikit par Julien Coudsi
Sirikit par Julien Coudsi
 
Bases de PHP - Partie 1
Bases de PHP - Partie 1Bases de PHP - Partie 1
Bases de PHP - Partie 1
 
Tp-jquery
Tp-jqueryTp-jquery
Tp-jquery
 

Destacado

A New Way of Interplanetary Transport
A New Way of Interplanetary TransportA New Way of Interplanetary Transport
A New Way of Interplanetary Transport
Oláh András Béla
 
Escuela superior politécnica de chimbborazo
Escuela superior politécnica de chimbborazo Escuela superior politécnica de chimbborazo
Escuela superior politécnica de chimbborazo
nazly12
 
Bastidas Rodny English
Bastidas Rodny EnglishBastidas Rodny English
Bastidas Rodny English
R. R.B.B
 
Rectal dose constraints for salvage iodine-125 prostate brachytherapy.
Rectal dose constraints for salvage iodine-125 prostate brachytherapy.Rectal dose constraints for salvage iodine-125 prostate brachytherapy.
Rectal dose constraints for salvage iodine-125 prostate brachytherapy.
Max Peters
 
QA_EA and Certification Testing
QA_EA and Certification TestingQA_EA and Certification Testing
QA_EA and Certification Testing
Andrew Pritchard
 
Rancangan Percobaan (faktorial)
Rancangan Percobaan (faktorial)Rancangan Percobaan (faktorial)
Rancangan Percobaan (faktorial)
Dian Arisona
 

Destacado (20)

Hosting Dergi - 16.SAYI
Hosting Dergi - 16.SAYIHosting Dergi - 16.SAYI
Hosting Dergi - 16.SAYI
 
阪神タイガースはなぜ愛されるのか?
阪神タイガースはなぜ愛されるのか?阪神タイガースはなぜ愛されるのか?
阪神タイガースはなぜ愛されるのか?
 
Pasos para crear una pagina web en linea
Pasos para crear una pagina web en lineaPasos para crear una pagina web en linea
Pasos para crear una pagina web en linea
 
A New Way of Interplanetary Transport
A New Way of Interplanetary TransportA New Way of Interplanetary Transport
A New Way of Interplanetary Transport
 
Nazca
NazcaNazca
Nazca
 
Line
LineLine
Line
 
Teste
TesteTeste
Teste
 
Escuela superior politécnica de chimbborazo
Escuela superior politécnica de chimbborazo Escuela superior politécnica de chimbborazo
Escuela superior politécnica de chimbborazo
 
Bastidas Rodny English
Bastidas Rodny EnglishBastidas Rodny English
Bastidas Rodny English
 
Sistema nervioso
Sistema nerviosoSistema nervioso
Sistema nervioso
 
Hosting Dergi - 19.SAYI
Hosting Dergi - 19.SAYIHosting Dergi - 19.SAYI
Hosting Dergi - 19.SAYI
 
Http
HttpHttp
Http
 
Rectal dose constraints for salvage iodine-125 prostate brachytherapy.
Rectal dose constraints for salvage iodine-125 prostate brachytherapy.Rectal dose constraints for salvage iodine-125 prostate brachytherapy.
Rectal dose constraints for salvage iodine-125 prostate brachytherapy.
 
QA_EA and Certification Testing
QA_EA and Certification TestingQA_EA and Certification Testing
QA_EA and Certification Testing
 
[MaddyTalk] La Ville - Carnet de tendances
[MaddyTalk] La Ville - Carnet de tendances [MaddyTalk] La Ville - Carnet de tendances
[MaddyTalk] La Ville - Carnet de tendances
 
Hosting Dergi - 18.SAYI
Hosting Dergi - 18.SAYIHosting Dergi - 18.SAYI
Hosting Dergi - 18.SAYI
 
Rancangan acak lengkap
Rancangan acak lengkap Rancangan acak lengkap
Rancangan acak lengkap
 
Rancangan Percobaan (faktorial)
Rancangan Percobaan (faktorial)Rancangan Percobaan (faktorial)
Rancangan Percobaan (faktorial)
 
A tabletop system to paper-prototype for mobile applications
A tabletop system to paper-prototype for mobile applicationsA tabletop system to paper-prototype for mobile applications
A tabletop system to paper-prototype for mobile applications
 
Writing Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly SwarmWriting Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly Swarm
 

Similar a Javascript - Fonctions : que fait ce code ?

Javascript : que fait ce code?
Javascript : que fait ce code?Javascript : que fait ce code?
Javascript : que fait ce code?
Ruau Mickael
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de données
ISIG
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de données
ISIG
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de données
ISIG
 

Similar a Javascript - Fonctions : que fait ce code ? (20)

Javascript : que fait ce code?
Javascript : que fait ce code?Javascript : que fait ce code?
Javascript : que fait ce code?
 
Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)
 
Découverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet SpartanDécouverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet Spartan
 
Node.js, le pavé dans la mare
Node.js, le pavé dans la mareNode.js, le pavé dans la mare
Node.js, le pavé dans la mare
 
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
 
Cours Ynov JS B1_1
Cours Ynov JS B1_1Cours Ynov JS B1_1
Cours Ynov JS B1_1
 
TypeScript for dummies
TypeScript for dummiesTypeScript for dummies
TypeScript for dummies
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de données
 
C# et .NET : Enigmes et puzzles
C# et .NET : Enigmes  et puzzlesC# et .NET : Enigmes  et puzzles
C# et .NET : Enigmes et puzzles
 
Johnny-Five : Robotique et IoT en JavaScript
Johnny-Five : Robotique et IoT en JavaScriptJohnny-Five : Robotique et IoT en JavaScript
Johnny-Five : Robotique et IoT en JavaScript
 
Vert.x 3
Vert.x 3Vert.x 3
Vert.x 3
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de données
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de données
 
Tp 1 introduction à matlab
Tp 1 introduction à matlabTp 1 introduction à matlab
Tp 1 introduction à matlab
 
Tp 1 introduction à matlab
Tp 1 introduction à matlabTp 1 introduction à matlab
Tp 1 introduction à matlab
 
Linq Tech Days08 Lux
Linq Tech Days08 LuxLinq Tech Days08 Lux
Linq Tech Days08 Lux
 
Cours java script
Cours java scriptCours java script
Cours java script
 
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
 
Microsoft07coursbaptiste
Microsoft07coursbaptisteMicrosoft07coursbaptiste
Microsoft07coursbaptiste
 
cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024
 

Más de Ruau Mickael

L'investissement proportionnel en formation
L'investissement proportionnel en formationL'investissement proportionnel en formation
L'investissement proportionnel en formation
Ruau Mickael
 
Pour des données fiables
Pour des données fiablesPour des données fiables
Pour des données fiables
Ruau Mickael
 
Like Me I'm Famous !
Like Me I'm Famous !Like Me I'm Famous !
Like Me I'm Famous !
Ruau Mickael
 
Animer une formation : les bases
Animer une formation : les basesAnimer une formation : les bases
Animer une formation : les bases
Ruau Mickael
 
Qui a peur des estimations ?
Qui a peur des estimations ?Qui a peur des estimations ?
Qui a peur des estimations ?
Ruau Mickael
 

Más de Ruau Mickael (20)

Panorama de méthodes agiles
Panorama de méthodes agilesPanorama de méthodes agiles
Panorama de méthodes agiles
 
Green web
Green webGreen web
Green web
 
Google Design Sprints v1-1
Google Design Sprints v1-1Google Design Sprints v1-1
Google Design Sprints v1-1
 
Value Proposition Design
Value Proposition DesignValue Proposition Design
Value Proposition Design
 
L'investissement proportionnel en formation
L'investissement proportionnel en formationL'investissement proportionnel en formation
L'investissement proportionnel en formation
 
Pour des données fiables
Pour des données fiablesPour des données fiables
Pour des données fiables
 
Besoin d'aide ?
Besoin d'aide ?Besoin d'aide ?
Besoin d'aide ?
 
Like Me I'm Famous !
Like Me I'm Famous !Like Me I'm Famous !
Like Me I'm Famous !
 
Animer une formation : les bases
Animer une formation : les basesAnimer une formation : les bases
Animer une formation : les bases
 
Protocamp
ProtocampProtocamp
Protocamp
 
Qui a peur des estimations ?
Qui a peur des estimations ?Qui a peur des estimations ?
Qui a peur des estimations ?
 
hacking learning
hacking learninghacking learning
hacking learning
 
Consignes épreuve de codage
Consignes épreuve de codageConsignes épreuve de codage
Consignes épreuve de codage
 
Horreurs et recrutement
Horreurs et recrutementHorreurs et recrutement
Horreurs et recrutement
 
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
 
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
 
Quelle(s) stratégie(s) de développement dans un monde en mouvement?
Quelle(s) stratégie(s) de développement dans un monde en mouvement?Quelle(s) stratégie(s) de développement dans un monde en mouvement?
Quelle(s) stratégie(s) de développement dans un monde en mouvement?
 
Sycfi - Twitter pour les formateurs v.1.1
Sycfi - Twitter pour les formateurs v.1.1Sycfi - Twitter pour les formateurs v.1.1
Sycfi - Twitter pour les formateurs v.1.1
 
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_fauxIEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
 
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_fauxIEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
 

Último

Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
Faga1939
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
ssuserc72852
 

Último (18)

Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Cours
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 

Javascript - Fonctions : que fait ce code ?

  • 1. Que fait ce code? Les fonctions en Javascript
  • 2. Objectif A la fin de cette séance, vous serez capables d'écrire des procédures et des fonctions en Javascript. Vous aurez découvert la syntaxe objet des fonctions (mais il nous reste encore du chemin à faire pour maîtriser les objets en Javascript).
  • 3. Conditions Utilisez : - un IDE (Netbeans, Aptana) - et un navigateur avec des outils de développement (ex : Firefox avec Firebug).
  • 4. Critères d'évaluation Vous réaliserez les fonctions de base d'une calculatrice à partir du code à trous fourni.
  • 5. Références http://www.ecmascript.org/ ECMAScript Language Specification Standard ECMA-262 3rd Edition - December 1999 ECMA-262 5.1 Edition - June 2011 http://www.crockford.com/javascript/survey.html http://www.xul.fr/ecmascript/ http://www.javascriptkit.com/javatutors/closures.shtml http://jpvincent.developpez.com/tutoriels/javascript/trois-fondamentaux- javascript/
  • 6. You talkin' to me? function procedureYodaParler() { var sMsg = "Beaucoup encore il te reste à apprendre." alert(sMsg); } procedureYodaParler();
  • 7. Le retour du jeudi function fonctionYodaPenser() { var sMsg = "Tu dois désapprendre" + " tout ce que tu as appris"; return sMsg; } alert(YodaPenser());
  • 8. Ca vous barbe? function procedureAfficherMessage(sMsg) { alert(sMsg); } monMessage = "Une bourse d'or me paraît toujours" + " un argument sans réplique."; procedureAfficherMessage(monMessage );
  • 9. A court d'arguments? function procedureAfficherMessages() { var sMsg = ""; for(i = 0; i < arguments.length; i++) { sMsg += arguments[i] + "n"; } alert(sMsg); } var mesMessages = ["Carpe Diem.", "Profitez du jour présent.", "Que vos vies soient extraordinaires!"]; procedureAfficherMessages(mesMessages);
  • 10. Je ne suis pas (qu')un objet! window.additionner = new Function("a", "b", "return a + b"); additionner(2, 6);// affiche 8
  • 12. Code à trous Complétez le code source fourni. Lorsque l'utilisateur appuie sur le bouton d'un opérateur arithmétique: la valeur saisie ou l'opérateur choisi est mémorisé Lorsque l'utilisateur appuie sur le bouton "=", l'opération est exécutée et le résultat est affiché dans le champ de saisie. (Cette calculatrice ne sait réaliser qu'une opération simple à la fois).
  • 13. Vrai ou faux? Que fait ce code?
  • 14. N'habite pas à l'adresse indiquée... if( !window.faireQqchose ) { sMsg = "I'm sorry Dave." + " I'm afraid I Can't do that..."; alert (sMsg); }
  • 16. Fin
  • 17. La série “Que fait ce code?” de Mickael Ruau est mise à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International. Les autorisations au-delà du champ de cette licence peuvent être obtenues à creativecommons@ShakerTechnologies.com.

Notas del editor

  1. Cet exemple illustre une bonne pratique : la détection de fonctionnalités du navigateur client. (A préférer à la détection du nom et de la version de navigateur)