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.

Javascript - Fonctions : que fait ce code ?

  • 1.
    Que fait cecode? Les fonctions en Javascript
  • 2.
    Objectif A la finde 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 : - unIDE (Netbeans, Aptana) - et un navigateur avec des outils de développement (ex : Firefox avec Firebug).
  • 4.
    Critères d'évaluation Vous réaliserezles fonctions de base d'une calculatrice à partir du code à trous fourni.
  • 5.
    Références http://www.ecmascript.org/ ECMAScript Language Specification StandardECMA-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' tome? function procedureYodaParler() { var sMsg = "Beaucoup encore il te reste à apprendre." alert(sMsg); } procedureYodaParler();
  • 7.
    Le retour dujeudi function fonctionYodaPenser() { var sMsg = "Tu dois désapprendre" + " tout ce que tu as appris"; return sMsg; } alert(YodaPenser());
  • 8.
    Ca vous barbe? functionprocedureAfficherMessage(sMsg) { alert(sMsg); } monMessage = "Une bourse d'or me paraît toujours" + " un argument sans réplique."; procedureAfficherMessage(monMessage );
  • 9.
    A court d'arguments? functionprocedureAfficherMessages() { 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 suispas (qu')un objet! window.additionner = new Function("a", "b", "return a + b"); additionner(2, 6);// affiche 8
  • 11.
  • 12.
    Code à trous Complétezle 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? Quefait 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); }
  • 15.
  • 16.
  • 17.
    La série “Quefait 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.

Notes de l'éditeur

  • #15 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)