Parfois, il est nécessaire de répéter de mêmes portions de codes.
Par exemple, on peut souhaiter afficher un résultat donné sous une certaine forme, ou bien faire un
calcul répétitif. Dans ce cas, au lieu de réécrire plusieurs fois cette même portion de code, on définit ce
que l’on appelle des fonctions. Ces fonctions peuvent accepter des paramètres, ou arguments, pour leur permettre
de réaliser l’action désirée.
La déclaration d'une fonction utilise le mot clé function suivi du nom de la fonction, de parenthèses
contenant les éventuels arguments, et du corps de la fonction délimité par des accolades:
function nomDeLaFonction(param1,param2,....){ instructions; }.
()
si aucun paramètre n'est requis),Le traitement d'une fonction se termine dès qu'une
expression return
est rencontrée avec le résultat
associé. Si le corps la fonction ne contient pas une telle
expression, la fonction ne renverra aucun résultat et son traitement
se termine lorsque la dernière expression du corps a été évaluée.
function dateDuJour(){ aujourdhui=new Date() ; alert(aujourdhui); }
Les fonctions peuvent être déclarées dans la partie <head>....</head> ou dans un fichier
précisé par l'attribut src, ici dateDuJour.js qui va être chargé et évalué par le navigateur.
<script type="text/javascript" src="dateDuJour.js"> </script>
Dans la fenêtre contenant le code source de la page, dateDuJour.js est un hyperlien qui lorsqu'on le
sélectionne permet de consulter le contenu du fichier dateduJour.js.
Exemple de fonction "retournant" une valeur Dans le fichier vente.js, on a le code suivant:
function chiffredAffaire(quantite,prixUnitaire){ return(quantite*prixUnitaire); }Un appel à la fonction peut se faire ainsi:
document.writeln("le chiffre d'affaires pour 520 articles à 3,20 € est égale à"+chiffredAffaire(520,3.20))
temperature.js
écrivez le code une
fonction fahrenheitEnCelsius
qui prend un paramètre
numérique représentant une température exprimée en degré Fahrenheit et
a pour résultat la même température exprimée en degré Celsius.La portée d'une variable désigne l'ensemble du code dans lequel elle peut être utilisée. Il est fortement conseillé de déclarer une variable en utilisant le mot clé var. Un nom de variable peut avoir une portée locale ou globale. Exemple: On considère le code javascript suivant:
var heros="JAMES BOND"; function nommer(){ var message="My name is "; alert(message+heros); } nommer(); alert(message+heros);Tester ce bloc de codes, toutes les lignes de codes sont-elles évaluées? Sinon, pourquoi? Quelles sont les variables locales ou globales?
var heros="JAMES BOND"; var message="My name is "; function nommer(){ var heros="SPIDERMAN" alert(message+heros); } nommer(); alert(message+heros);Comme on peut le constater, quand on exécute la fonction, la variable locale prend le dessus sur la variable globale de même nom pendant tout le temps de l'exécution de la fonction. Mais une fois la fonction terminée (et donc, la variable locale détruite) c'est la variable globale qui reprend ses droits.