• Aucun résultat trouvé

[PDF] Formation en Programmation JavaScript pdf | Cours informatique

N/A
N/A
Protected

Academic year: 2021

Partager "[PDF] Formation en Programmation JavaScript pdf | Cours informatique"

Copied!
89
0
0

Texte intégral

(1)

introduction types fonctions structures conversions objets

javascript :

´

el´

ements du langage

(2)

introduction types fonctions structures conversions objets

au programme...

1 introduction 2 types 3 fonctions 4 structures 5 conversions 6 objets

(3)

introduction types fonctions structures conversions objets

au programme...

1 introduction 2 types 3 fonctions 4 structures 5 conversions 6 objets

(4)

introduction types fonctions structures conversions objets

javascript

pr´esentation partielle, et parfois partiale

Javascript

un langage fonctionnel `a objet `a base de prototypes

oui, mais encore...

(5)

introduction types fonctions structures conversions objets

javascript

pr´esentation partielle, et parfois partiale

Javascript

un langage fonctionnel `a objet `a base de prototypes

oui, mais encore...

(6)

introduction types fonctions structures conversions objets

javascript

pr´esentation partielle, et parfois partiale

Javascript

un langage fonctionnel `a objet `a base de prototypes

oui, mais encore...

(7)

introduction types fonctions structures conversions objets

un langage de scripts, interpr´et´e

les scripts peuvent ˆetre plac´es dans les documents HTML le navigateur poss`ede un interpr`ete javascript

le code javascript permet

d’agir sur les propri´et´es des ´el´ements d’un document HTML de manipuler l’arbre DOM

⇒ dynamicit´e du document affich´e

exemples : diaporamaextraction couleurs

(8)

introduction types fonctions structures conversions objets

un langage de scripts, interpr´et´e

les scripts peuvent ˆetre plac´es dans les documents HTML

le navigateur poss`ede un interpr`ete javascript

le code javascript permet

d’agir sur les propri´et´es des ´el´ements d’un document HTML de manipuler l’arbre DOM

⇒ dynamicit´e du document affich´e

exemples : diaporamaextraction couleurs

(9)

introduction types fonctions structures conversions objets

un langage de scripts, interpr´et´e

les scripts peuvent ˆetre plac´es dans les documents HTML le navigateur poss`ede un interpr`ete javascript

le code javascript permet

d’agir sur les propri´et´es des ´el´ements d’un document HTML de manipuler l’arbre DOM

⇒ dynamicit´e du document affich´e

exemples : diaporamaextraction couleurs

(10)

introduction types fonctions structures conversions objets

un langage de scripts, interpr´et´e

les scripts peuvent ˆetre plac´es dans les documents HTML le navigateur poss`ede un interpr`ete javascript

le code javascript permet

d’agir sur les propri´et´es des ´el´ements d’un document HTML de manipuler l’arbre DOM

⇒ dynamicit´e du document affich´e

exemples : diaporamaextraction couleurs

(11)

introduction types fonctions structures conversions objets

un langage de scripts, interpr´et´e

les scripts peuvent ˆetre plac´es dans les documents HTML le navigateur poss`ede un interpr`ete javascript

le code javascript permet

d’agir sur les propri´et´es des ´el´ements d’un document HTML

de manipuler l’arbre DOM

⇒ dynamicit´e du document affich´e

exemples : diaporamaextraction couleurs

(12)

introduction types fonctions structures conversions objets

un langage de scripts, interpr´et´e

les scripts peuvent ˆetre plac´es dans les documents HTML le navigateur poss`ede un interpr`ete javascript

le code javascript permet

d’agir sur les propri´et´es des ´el´ements d’un document HTML de manipuler l’arbre DOM

⇒ dynamicit´e du document affich´e

exemples : diaporamaextraction couleurs

(13)

introduction types fonctions structures conversions objets

un langage de scripts, interpr´et´e

les scripts peuvent ˆetre plac´es dans les documents HTML le navigateur poss`ede un interpr`ete javascript

le code javascript permet

d’agir sur les propri´et´es des ´el´ements d’un document HTML de manipuler l’arbre DOM

⇒ dynamicit´e du document affich´e

exemples : diaporamaextraction couleurs

(14)

introduction types fonctions structures conversions objets

un langage de scripts, interpr´et´e

les scripts peuvent ˆetre plac´es dans les documents HTML le navigateur poss`ede un interpr`ete javascript

le code javascript permet

d’agir sur les propri´et´es des ´el´ements d’un document HTML de manipuler l’arbre DOM

⇒ dynamicit´e du document affich´e

exemples : diaporamaextraction couleurs

(15)

introduction types fonctions structures conversions objets

int´

egration de javascript dans la page html

on utilise l’´el´ement script, dans le corps ou l’entˆete du document. 2 cas de figure possibles :

code javascript directement plac´e dans le corps du fichier html :

<script type="text/javascript">

... code javascript ici

</script>

code javascript dans un fichier s´epar´e pr´ecis´e par l’attribut src de l’´el´ement script :

<script src="unFichier.js" type="text/javascript"> </script>

exemples : code dans htmlcode dans fichier

NB : flux de chargement du fichier html

(16)

introduction types fonctions structures conversions objets

int´

egration de javascript dans la page html

on utilise l’´el´ement script, dans le corps ou l’entˆete du document. 2 cas de figure possibles :

code javascript directement plac´e dans le corps du fichier html :

<script type="text/javascript">

... code javascript ici

</script>

code javascript dans un fichier s´epar´e pr´ecis´e par l’attribut src de l’´el´ement script :

<script src="unFichier.js" type="text/javascript"> </script>

exemples : code dans htmlcode dans fichier

NB : flux de chargement du fichier html

(17)

introduction types fonctions structures conversions objets

int´

egration de javascript dans la page html

on utilise l’´el´ement script, dans le corps ou l’entˆete du document. 2 cas de figure possibles :

code javascript directement plac´e dans le corps du fichier html :

<script type="text/javascript">

... code javascript ici

</script>

code javascript dans un fichier s´epar´e pr´ecis´e par l’attribut src de l’´el´ement script :

<script src="unFichier.js" type="text/javascript"> </script>

exemples : code dans htmlcode dans fichier

NB : flux de chargement du fichier html

(18)

introduction types fonctions structures conversions objets

int´

egration de javascript dans la page html

on utilise l’´el´ement script, dans le corps ou l’entˆete du document. 2 cas de figure possibles :

code javascript directement plac´e dans le corps du fichier html :

<script type="text/javascript">

... code javascript ici

</script>

code javascript dans un fichier s´epar´e pr´ecis´e par l’attribut src de l’´el´ement script :

<script src="unFichier.js" type="text/javascript"> </script>

exemples : code dans htmlcode dans fichier

NB : flux de chargement du fichier html

(19)

introduction types fonctions structures conversions objets

int´

egration de javascript dans la page html

on utilise l’´el´ement script, dans le corps ou l’entˆete du document. 2 cas de figure possibles :

code javascript directement plac´e dans le corps du fichier html :

<script type="text/javascript">

... code javascript ici

</script>

code javascript dans un fichier s´epar´e pr´ecis´e par l’attribut src de l’´el´ement script :

<script src="unFichier.js" type="text/javascript"> </script>

exemples : code dans htmlcode dans fichier

NB : flux de chargement du fichier html

(20)

introduction types fonctions structures conversions objets

int´

egration de javascript dans la page html

on utilise l’´el´ement script, dans le corps ou l’entˆete du document. 2 cas de figure possibles :

code javascript directement plac´e dans le corps du fichier html :

<script type="text/javascript">

... code javascript ici

</script>

code javascript dans un fichier s´epar´e pr´ecis´e par l’attribut src de l’´el´ement script :

<script src="unFichier.js" type="text/javascript"> </script>

exemples : code dans htmlcode dans fichier

NB : flux de chargement du fichier html

(21)

introduction types fonctions structures conversions objets

int´

egration de javascript dans la page html

on utilise l’´el´ement script, dans le corps ou l’entˆete du document. 2 cas de figure possibles :

code javascript directement plac´e dans le corps du fichier html :

<script type="text/javascript">

... code javascript ici

</script>

code javascript dans un fichier s´epar´e pr´ecis´e par l’attribut src de l’´el´ement script :

<script src="unFichier.js" type="text/javascript"> </script>

exemples : code dans htmlcode dans fichier

NB : flux de chargement du fichier html

(22)

introduction types fonctions structures conversions objets

un style de programmation imp´

eratif

variables, types de donn´ees,

structures de contrˆoles : s´equences, conditionnelles et it´eratives modularisation : fonctions

objets

Si vous connaissez un autre langageimp´eratif

une nouvelle syntaxe

quelques diff´erences dans les r`egles de fonctionnement de nouvelles fonctions primitives `a apprendre

(23)

introduction types fonctions structures conversions objets

un style de programmation imp´

eratif

variables, types de donn´ees,

structures de contrˆoles : s´equences, conditionnelles et it´eratives modularisation : fonctions

objets

Si vous connaissez un autre langageimp´eratif

une nouvelle syntaxe

quelques diff´erences dans les r`egles de fonctionnement de nouvelles fonctions primitives `a apprendre

(24)

introduction types fonctions structures conversions objets

un style de programmation imp´

eratif

variables, types de donn´ees,

structures de contrˆoles : s´equences, conditionnelles et it´eratives

modularisation : fonctions

objets

Si vous connaissez un autre langageimp´eratif

une nouvelle syntaxe

quelques diff´erences dans les r`egles de fonctionnement de nouvelles fonctions primitives `a apprendre

(25)

introduction types fonctions structures conversions objets

un style de programmation imp´

eratif

variables, types de donn´ees,

structures de contrˆoles : s´equences, conditionnelles et it´eratives modularisation : fonctions

objets

Si vous connaissez un autre langageimp´eratif

une nouvelle syntaxe

quelques diff´erences dans les r`egles de fonctionnement de nouvelles fonctions primitives `a apprendre

(26)

introduction types fonctions structures conversions objets

un style de programmation imp´

eratif

variables, types de donn´ees,

structures de contrˆoles : s´equences, conditionnelles et it´eratives modularisation : fonctions

objets

Si vous connaissez un autre langageimp´eratif

une nouvelle syntaxe

quelques diff´erences dans les r`egles de fonctionnement de nouvelles fonctions primitives `a apprendre

(27)

introduction types fonctions structures conversions objets

un style de programmation imp´

eratif

variables, types de donn´ees,

structures de contrˆoles : s´equences, conditionnelles et it´eratives modularisation : fonctions

objets

Si vous connaissez un autre langageimp´eratif

une nouvelle syntaxe

quelques diff´erences dans les r`egles de fonctionnement de nouvelles fonctions primitives `a apprendre

(28)

introduction types fonctions structures conversions objets

un style de programmation imp´

eratif

variables, types de donn´ees,

structures de contrˆoles : s´equences, conditionnelles et it´eratives modularisation : fonctions

objets

Si vous connaissez un autre langageimp´eratif

une nouvelle syntaxe

quelques diff´erences dans les r`egles de fonctionnement de nouvelles fonctions primitives `a apprendre

(29)

introduction types fonctions structures conversions objets

un style de programmation imp´

eratif

variables, types de donn´ees,

structures de contrˆoles : s´equences, conditionnelles et it´eratives modularisation : fonctions

objets

Si vous connaissez un autre langageimp´eratif

une nouvelle syntaxe

quelques diff´erences dans les r`egles de fonctionnement

de nouvelles fonctions primitives `a apprendre

(30)

introduction types fonctions structures conversions objets

un style de programmation imp´

eratif

variables, types de donn´ees,

structures de contrˆoles : s´equences, conditionnelles et it´eratives modularisation : fonctions

objets

Si vous connaissez un autre langageimp´eratif

une nouvelle syntaxe

quelques diff´erences dans les r`egles de fonctionnement de nouvelles fonctions primitives `a apprendre

(31)

introduction types fonctions structures conversions objets

au programme...

1 introduction 2 types 3 fonctions 4 structures 5 conversions 6 objets

(32)

introduction types fonctions structures conversions objets

au programme...

1 introduction 2 types 3 fonctions 4 structures 5 conversions 6 objets

(33)

introduction types fonctions structures conversions objets

types primitifs

boolean

2 constantestrue,false

op´erateurs : n´egation !, et logique&&, ou logiquek

number

pas de s´eparation nette entre entiers et flottants

op´erateurs : +,-,*,/(division flottante),%(reste de la division)

-Infinity,Infinity

string

pas de type caract`ere s´epar´e de string,

il faut consid´erer des chaˆınes de longueur 1

les chaˆınes se notent entre " ou ’ : "exemple",’un autre’

op´erateur de concat´enation : +

+ objetString=⇒ nombreuses m´ethodes

(34)

introduction types fonctions structures conversions objets

types primitifs

boolean

2 constantestrue,false

op´erateurs : n´egation !, et logique&&, ou logiquek

number

pas de s´eparation nette entre entiers et flottants

op´erateurs : +,-,*,/(division flottante),%(reste de la division)

-Infinity,Infinity

string

pas de type caract`ere s´epar´e de string,

il faut consid´erer des chaˆınes de longueur 1

les chaˆınes se notent entre " ou ’ : "exemple",’un autre’

op´erateur de concat´enation : +

+ objetString=⇒ nombreuses m´ethodes

(35)

introduction types fonctions structures conversions objets

types primitifs

boolean

2 constantestrue,false

op´erateurs : n´egation !, et logique&&, ou logiquek

number

pas de s´eparation nette entre entiers et flottants

op´erateurs : +,-,*,/(division flottante),%(reste de la division)

-Infinity,Infinity

string

pas de type caract`ere s´epar´e de string,

il faut consid´erer des chaˆınes de longueur 1

les chaˆınes se notent entre " ou ’ : "exemple",’un autre’

op´erateur de concat´enation : +

+ objetString=⇒ nombreuses m´ethodes

(36)

introduction types fonctions structures conversions objets

types primitifs

boolean

2 constantestrue,false

op´erateurs : n´egation !, et logique&&, ou logiquek

number

pas de s´eparation nette entre entiers et flottants

op´erateurs : +,-,*,/(division flottante), %(reste de la division)

-Infinity,Infinity string

pas de type caract`ere s´epar´e de string,

il faut consid´erer des chaˆınes de longueur 1

les chaˆınes se notent entre " ou ’ : "exemple",’un autre’

op´erateur de concat´enation : +

+ objetString=⇒ nombreuses m´ethodes

(37)

introduction types fonctions structures conversions objets

types primitifs

boolean

2 constantestrue,false

op´erateurs : n´egation !, et logique&&, ou logiquek

number

pas de s´eparation nette entre entiers et flottants

op´erateurs : +,-,*,/(division flottante), %(reste de la division)

-Infinity,Infinity string

pas de type caract`ere s´epar´e de string,

il faut consid´erer des chaˆınes de longueur 1

les chaˆınes se notent entre " ou ’ : "exemple",’un autre’

op´erateur de concat´enation : +

+ objetString=⇒ nombreuses m´ethodes

(38)

introduction types fonctions structures conversions objets

types primitifs

boolean

2 constantestrue,false

op´erateurs : n´egation !, et logique&&, ou logiquek

number

pas de s´eparation nette entre entiers et flottants

op´erateurs : +,-,*,/(division flottante), %(reste de la division)

-Infinity,Infinity string

pas de type caract`ere s´epar´e de string,

il faut consid´erer des chaˆınes de longueur 1

les chaˆınes se notent entre " ou ’ : "exemple",’un autre’

op´erateur de concat´enation : +

+ objetString=⇒ nombreuses m´ethodes

(39)

introduction types fonctions structures conversions objets

types primitifs

boolean

2 constantestrue,false

op´erateurs : n´egation !, et logique&&, ou logiquek

number

pas de s´eparation nette entre entiers et flottants

op´erateurs : +,-,*,/(division flottante), %(reste de la division)

-Infinity,Infinity

string

pas de type caract`ere s´epar´e de string,

il faut consid´erer des chaˆınes de longueur 1

les chaˆınes se notent entre " ou ’ : "exemple",’un autre’

op´erateur de concat´enation : +

+ objetString=⇒ nombreuses m´ethodes

(40)

introduction types fonctions structures conversions objets

types primitifs

boolean

2 constantestrue,false

op´erateurs : n´egation !, et logique&&, ou logiquek

number

pas de s´eparation nette entre entiers et flottants

op´erateurs : +,-,*,/(division flottante), %(reste de la division)

-Infinity,Infinity string

pas de type caract`ere s´epar´e de string,

il faut consid´erer des chaˆınes de longueur 1

les chaˆınes se notent entre " ou ’ : "exemple",’un autre’

op´erateur de concat´enation : +

+ objetString=⇒ nombreuses m´ethodes

(41)

introduction types fonctions structures conversions objets

types primitifs

boolean

2 constantestrue,false

op´erateurs : n´egation !, et logique&&, ou logiquek

number

pas de s´eparation nette entre entiers et flottants

op´erateurs : +,-,*,/(division flottante), %(reste de la division)

-Infinity,Infinity string

pas de type caract`ere s´epar´e de string,

il faut consid´erer des chaˆınes de longueur 1

les chaˆınes se notent entre " ou ’ : "exemple",’un autre’

op´erateur de concat´enation : +

+ objetString=⇒ nombreuses m´ethodes

(42)

introduction types fonctions structures conversions objets

types primitifs

boolean

2 constantestrue,false

op´erateurs : n´egation !, et logique&&, ou logiquek

number

pas de s´eparation nette entre entiers et flottants

op´erateurs : +,-,*,/(division flottante), %(reste de la division)

-Infinity,Infinity string

pas de type caract`ere s´epar´e de string,

il faut consid´erer des chaˆınes de longueur 1

les chaˆınes se notent entre " ou ’ : "exemple",’un autre’

op´erateur de concat´enation : +

+ objetString=⇒ nombreuses m´ethodes

(43)

introduction types fonctions structures conversions objets

types primitifs

boolean

2 constantestrue,false

op´erateurs : n´egation !, et logique&&, ou logiquek

number

pas de s´eparation nette entre entiers et flottants

op´erateurs : +,-,*,/(division flottante), %(reste de la division)

-Infinity,Infinity string

pas de type caract`ere s´epar´e de string,

il faut consid´erer des chaˆınes de longueur 1

les chaˆınes se notent entre " ou ’ : "exemple",’un autre’

op´erateur de concat´enation : +

+ objetString=⇒ nombreuses m´ethodes

(44)

introduction types fonctions structures conversions objets

types primitifs

boolean

2 constantestrue,false

op´erateurs : n´egation !, et logique&&, ou logiquek

number

pas de s´eparation nette entre entiers et flottants

op´erateurs : +,-,*,/(division flottante), %(reste de la division)

-Infinity,Infinity string

pas de type caract`ere s´epar´e de string,

il faut consid´erer des chaˆınes de longueur 1

les chaˆınes se notent entre " ou ’ : "exemple",’un autre’

op´erateur de concat´enation : +

+ objetString=⇒ nombreuses m´ethodes

(45)

introduction types fonctions structures conversions objets

variables

d´eclaration

Il faut d´eclarer les variables `a l’aide du mot-clef var. Une variable doit ˆetre d´eclar´ee avant d’ˆetre utilis´ee.

affectation

L’op´erateur d’affectation se note =.

Une variable non initialis´ee a pour valeur nullou undefined

types-variables-et-predicats.js

(46)

introduction types fonctions structures conversions objets

variables

d´eclaration

Il faut d´eclarer les variables `a l’aide du mot-clef var. Une variable doit ˆetre d´eclar´ee avant d’ˆetre utilis´ee.

affectation

L’op´erateur d’affectation se note =.

Une variable non initialis´ee a pour valeur nullou undefined

types-variables-et-predicats.js

(47)

introduction types fonctions structures conversions objets

au programme...

1 introduction 2 types 3 fonctions 4 structures 5 conversions 6 objets

(48)

introduction types fonctions structures conversions objets

au programme...

1 introduction 2 types 3 fonctions 4 structures 5 conversions 6 objets

(49)

introduction types fonctions structures conversions objets

fonctions

valeur de type fonction

le mot-clef function permet de d´efinir une donn´ee de type fonction,

on pr´ecise entre parenth`eses lesparam`etre formels, s´epar´es par des virgules,

le corps de la fonction est not´e entre accolades,

la valeur de retour d’une fonction est pr´ecis´ee par return,

return n’est pas obligatoire (⇒ valeur retour = undefined)

function

(param1, param2, ...) {

... corps de la fonction

return expression;

}

(50)

introduction types fonctions structures conversions objets

fonctions

valeur de type fonction

le mot-clef function permet de d´efinir une donn´ee de type fonction,

on pr´ecise entre parenth`eses lesparam`etre formels, s´epar´es par des virgules,

le corps de la fonction est not´e entre accolades,

la valeur de retour d’une fonction est pr´ecis´ee par return,

return n’est pas obligatoire (⇒ valeur retour = undefined)

function(param1, param2, ...)

{

... corps de la fonction

return expression;

}

(51)

introduction types fonctions structures conversions objets

fonctions

valeur de type fonction

le mot-clef function permet de d´efinir une donn´ee de type fonction,

on pr´ecise entre parenth`eses lesparam`etre formels, s´epar´es par des virgules,

le corps de la fonction est not´e entre accolades,

la valeur de retour d’une fonction est pr´ecis´ee par return,

return n’est pas obligatoire (⇒ valeur retour = undefined)

function(param1, param2, ...) {

... corps de la fonction

return expression;

}

(52)

introduction types fonctions structures conversions objets

fonctions

valeur de type fonction

le mot-clef function permet de d´efinir une donn´ee de type fonction,

on pr´ecise entre parenth`eses lesparam`etre formels, s´epar´es par des virgules,

le corps de la fonction est not´e entre accolades,

la valeur de retour d’une fonction est pr´ecis´ee par return,

return n’est pas obligatoire (⇒ valeur retour = undefined)

function(param1, param2, ...) {

... corps de la fonction

return expression;

}

(53)

introduction types fonctions structures conversions objets

fonctions

appel et nommage

on appelle une fonction en pr´ecisant lesparam`etres effectifs entre parenth`eses

on peut nommer une fonction en d´efinissant une variable dont la valeur est de type fonction

exemple-fonction.js

(54)

introduction types fonctions structures conversions objets

fonctions

appel et nommage

on appelle une fonction en pr´ecisant lesparam`etres effectifs entre parenth`eses

on peut nommer une fonction en d´efinissant une variable dont la valeur est de type fonction

exemple-fonction.js

(55)

introduction types fonctions structures conversions objets

autre syntaxe

1 // ´eqv `a : 2 f u n c t i o n e x e m p l e ( x , y ) { // var e x e m p l e = f u n c t i o n ( x , y ) { 3 v a r v a l e u r = x + y ; 4 r e t u r n 2* v a l e u r + 1 ; 5 } 6 7 e x e m p l e (2 ,3) ; // v a u t 11

(56)

introduction types fonctions structures conversions objets

r`

egle de port´

ee

locale et globale

toute d´efinition de variable dans une fonction estlocale `a la fonction

une variable locale masque une variable globale de mˆeme nom

exemple-portee.jsavec debugger

(57)

introduction types fonctions structures conversions objets

au programme...

1 introduction 2 types 3 fonctions 4 structures 5 conversions 6 objets

(58)

introduction types fonctions structures conversions objets

au programme...

1 introduction 2 types 3 fonctions 4 structures 5 conversions 6 objets

(59)

introduction types fonctions structures conversions objets

equence et bloc

s´equence

On construit une s´equence d’instructions en les s´eparant par un ; .

bloc d’instructions

Un bloc d’instructions en s´equence se note entre accolades. Un bloc d’instructions est une instruction.

!

Contrairement `bloc ne d´efinit pas de r`a de nombreux langages, en javascript unegle de port´ee. La seule r`egle de port´ee se situe au niveau des fonctions.

(60)

introduction types fonctions structures conversions objets

equence et bloc

s´equence

On construit une s´equence d’instructions en les s´eparant par un ; .

bloc d’instructions

Un bloc d’instructions en s´equence se note entre accolades. Un bloc d’instructions est une instruction.

!

Contrairement `bloc ne d´efinit pas de r`a de nombreux langages, en javascript unegle de port´ee. La seule r`egle de port´ee se situe au niveau des fonctions.

(61)

introduction types fonctions structures conversions objets

equence et bloc

s´equence

On construit une s´equence d’instructions en les s´eparant par un ; .

bloc d’instructions

Un bloc d’instructions en s´equence se note entre accolades. Un bloc d’instructions est une instruction.

!

Contrairement `bloc ne d´efinit pas de r`a de nombreux langages, en javascript unegle de port´ee. La seule r`egle de port´ee se situe au niveau des fonctions.

(62)

introduction types fonctions structures conversions objets

structure conditionnelle

if (condition) {

equence d’instructions si true

} else {

equence d’instructions si false

}

var collatz = function(i) { if (i % 2 == 0) { return i/2; } else { return 3*i+1; } }

la partie elsen’est pas obligatoire

false,0,"", NaN, null,undefined valent false, tout le reste vaut true

(63)

introduction types fonctions structures conversions objets

structures it´

eratives : pour

for (var i = inf; i < max ; i=i+1) { // i=i+1 s’´ecrit aussi i++ s´equence d’instructions } 1 v a r s o m m e E n t i e r s = f u n c t i o n( b o r n e M a x ) { 2 v a r s o m m e = 0; 3 for (v a r i = 0 ; i < b o r n e M a x ; i = i +1) { 4 s o m m e = s o m m e + i ; 5 } 6 r e t u r n s o m m e ; 7 } 8 9 s o m m e E n t i e r s ( 1 0 0 ) ; // s o m m e v a u t 4 9 5 0

(64)

introduction types fonctions structures conversions objets

structures it´

eratives : tant que

while ( condition ) { s´equence d’instructions } 1 v a r s o m m e C h i f f r e s = f u n c t i o n( n ) { 2 v a r r e s u l t = 0; 3 w h i l e ( n > 0) { 4 r e s u l t = r e s u l t + ( n % 10) ; 5 n = M a t h . f l o o r ( n / 1 0 ) ; 6 } 7 r e t u r n r e s u l t ; 8 } 9 s o m m e C h i f f r e s ( 1 2 3 4 5 ) ; // v a u t 15 do { s´equence d’instructions } while (condition) avec debugger

(65)

introduction types fonctions structures conversions objets

tant que et pour

Une boucle pour peut toujours s’´ecrire sous la forme d’une boucle tant que.

pour i variant de borne inf `a borne sup r´ep´eter

corps de boucle

i ← borne inf

tant que i ≤ borne sup r´ep´eter debutBloc

corps de boucle i ← i + 1

finBloc

En javascript les boucles for sont des while d´eguis´ees :

for ( init; condition ; increment ) { s´equence d’instructions } ≡ init; while (condition ) { s´equence d’instructions; increment; }

(66)

introduction types fonctions structures conversions objets

tant que et pour

Une boucle pour peut toujours s’´ecrire sous la forme d’une boucle tant que.

pour i variant de borne inf `a borne sup r´ep´eter

corps de boucle

i ← borne inf

tant que i ≤ borne sup r´ep´eter debutBloc

corps de boucle i ← i + 1

finBloc

En javascript les boucles for sont des while d´eguis´ees :

for ( init; condition ; increment ) { s´equence d’instructions } ≡ init; while (condition ) { s´equence d’instructions; increment; }

(67)

introduction types fonctions structures conversions objets

On peut donc aussi ´ecrire :

1 v a r s o m m e C h i f f r e s = f u n c t i o n( n ) { 2 for (v a r r e s u l t =0; n > 0; n = M a t h . f l o o r ( n /1 0 ) ) { 3 r e s u l t = r e s u l t + ( n % 10) ; 4 } 5 r e t u r n r e s u l t ; 6 } 7 s o m m e C h i f f r e s ( 1 2 3 4 5 ) ; // v a u t 15 mais cela ne veut pas dire que l’on doit le faire...

(68)

introduction types fonctions structures conversions objets

au programme...

1 introduction 2 types 3 fonctions 4 structures 5 conversions 6 objets

(69)

introduction types fonctions structures conversions objets

au programme...

1 introduction 2 types 3 fonctions 4 structures 5 conversions 6 objets

(70)

introduction types fonctions structures conversions objets

conversions de types

javascript est (tr`es) souple sur la notion de typage.

javascrit applique « automatiquement » certaines conversions de type sur les valeurs lorsque le contexte le n´ecessite :

vers le typeboolean(cf. remarque pr´ec´edente) vers le typestring

vers le typenumber

a une incidence sur la notion d’´egalit´e

(71)

introduction types fonctions structures conversions objets

conversion en bool´

een et en chaˆıne de caract`

eres

1 v a r v a l e u r B o o l e e n n e = f u n c t i o n( val ) { 2 if ( val ) { // d a n s ce c o n t e x t e v a l e u r b o o l ´e e n n e a t t e n d u e 3 r e t u r n " ’ "+ val +" ’ est c o n v e r t i en t r u e "; // c h a i n e a t t e n d u e 4 } 5 e l s e { 6 r e t u r n " ’ "+ val +" ’ est c o n v e r t i en f a l s e "; 7 } 8 } 9 10 v a l e u r B o o l e e n n e (" a b c d ") ; // - > ’ a b c d ’ est c o n v e r t i en t r u e 11 v a l e u r B o o l e e n n e (" ") ; // - > ’ ’ est c o n v e r t i en f a l s e 12 13 v a r x ; 14 v a l e u r B o o l e e n n e ( x ) ; // - > ’ u n d e f i n e d ’ est c o n v e r t i en f a l s e 15 x = 0; 16 v a l e u r B o o l e e n n e ( x ) ; // - > ’0 ’ est c o n v e r t i en f a l s e 17 x = 1; 18 v a l e u r B o o l e e n n e ( x ) ; // - > ’1 ’ est c o n v e r t i en t r u e

(72)

introduction types fonctions structures conversions objets

conversion en nombre

une chaˆıne dont les caract`eres repr´esentent un nombre est convertie en ce nombre

NB : dans un expression avec l’op´erateur + c’est la conversion vers chaˆıne qui l’emporte

NaN : Not a Number

valeur de conversion pour toute expression qui ne peut ˆetre convertie en un nombre

peut se tester avec fonction isNaN.

1 " 1 2 . 5 "*3; // - > 3 7 . 5 2 " 99 "-5; // - > 94 3 4 " 99 "+5 // - > " 9 9 5 " /!\ 5 6 " d e u x "*3; // - > NaN 7 i s N a N(" d e u x "*3) ; // - > t r u e

(73)

introduction types fonctions structures conversions objets

parseInt

et

parseFloat

convertissent une chaˆıne en nombre (entier ou flottant) seul le premier nombre dans la chaˆıne est retourn´e, les autres caract`eres (y compris correspondant `a des nombres) sont ignor´es si le premier caract`ere ne peut ˆetre converti en un nombre, le r´esultat sera NaN

les espaces en tˆete sont ignor´es

1 p a r s e F l o a t (" 1 . 2 4 ") ; // - > 1 . 2 4 2 p a r s e I n t (" 42 ") ; // - > 42 3 p a r s e I n t (" 42 est la r e p o n s e ") ; // - > 42 4 p a r s e I n t (" 42 est la r e p o n s e ") ; // - > 42 5 p a r s e I n t (" 42 e s t l a r e p o n s e ") ; // - > 42 6 p a r s e I n t (" 42 43 44 ") ; // - > 42 7 p a r s e I n t (" r e p o n s e = 42 ") ; // - > NaN

(74)

introduction types fonctions structures conversions objets

´

egalit´

es ´

etranges

!

Du fait de la conversion, dans certains cas des valeurs detypes diff´erents peuvent ˆetre consid´er´ees ´egales.

1 1 == " 1 " // - > t r u e

2 10 != " 10 " // - > f a l s e

3 1 == " un " // - > f a l s e

4 0 == f a l s e // - > t r u e

5 " 0 " == f a l s e // - > t r u e /!\ a l o r s que "0" se c o n v e r t i t en t r u e

L’op´erateur === teste `a la fois le type et la valeur (n´egation !==).

1 1 === " 1 " // - > f a l s e

2 0 === f a l s e // - > f a l s e

3 10 === 9 + 1 ; // - > t r u e

4

5 1 !== " 1 "; // - > t r u e

(75)

introduction types fonctions structures conversions objets

au programme...

1 introduction 2 types 3 fonctions 4 structures 5 conversions 6 objets

(76)

introduction types fonctions structures conversions objets

au programme...

1 introduction 2 types 3 fonctions 4 structures 5 conversions 6 objets

(77)

introduction types fonctions structures conversions objets

objets

les objets poss`edent des m´ethodes (= fonctions) une m´ethode s’invoque sur un objet

on utilise la « notation point´ee » exexmple : avec l’objet String

1 v a r s = n e w S t r i n g (" t i m o l e o n ") ; // c r ´e a t i o n d ’ un o b j e t S t r i n g 2 v a r sub = s . s u b s t r i n g (2 ,6) ; // sub v a u t " m o l e " 3 s . c h a r A t (4) ; // v a u t " l " 4 s . l e n g t h ; // v a u t 8 5 6 // c o n v e r s i o n des v a l e u r s s t r i n g v e r s o b j e t S t r i n g 7 " a b r a c a d a b r a ". c h a r A t (2) ; // v a u t " r " 8 " a b r a c a d a b r a ". s u b s t r i n g (4 ,8) ; // v a u t " c a d a "

(78)

introduction types fonctions structures conversions objets

window et document

Pour un document charg´e dans un navigateur, 2 variables objet sont d´efinies par d´efaut :

window repr´esente la fenˆetre du navigateur dans laquelle le document est charg´e.

L’objet window est l’objet de base. Un objet window par onglet.

document repr´esente le document DOM charg´e dans la fenˆetre.

(79)

introduction types fonctions structures conversions objets

premi`

eres interactions avec document html

en attendant mieux...

window.alert affiche une « popup » d’information

window.prompt

affiche une boˆıte de dialogue avec une zone de saisie de texte a pour r´esultat le texte saisi

attention : le r´esultat est de typestring, pr´evoir des conversions avec

parseIntouparseFloat si n´ecessaire.

document.writeet document.writeln

´

ecrit du texte dans le flux html

le texte ´ecrit est interpr´et´e par le navigateur

attention : efface le contenu du document si le flux doit ˆetre r´eouvert

ne pas utiliser pour modifier un document, uniquement lors de sa cr´eation ! (en fait ne pas utiliser du tout...)

exemples 1234

(80)

introduction types fonctions structures conversions objets

premi`

eres interactions avec document html

en attendant mieux...

window.alert affiche une « popup » d’information

window.prompt

affiche une boˆıte de dialogue avec une zone de saisie de texte a pour r´esultat le texte saisi

attention : le r´esultat est de typestring, pr´evoir des conversions avec

parseIntouparseFloat si n´ecessaire.

document.writeet document.writeln

´

ecrit du texte dans le flux html

le texte ´ecrit est interpr´et´e par le navigateur

attention : efface le contenu du document si le flux doit ˆetre r´eouvert

ne pas utiliser pour modifier un document, uniquement lors de sa cr´eation ! (en fait ne pas utiliser du tout...)

exemples 1234

(81)

introduction types fonctions structures conversions objets

premi`

eres interactions avec document html

en attendant mieux...

window.alert affiche une « popup » d’information

window.prompt

affiche une boˆıte de dialogue avec une zone de saisie de texte

a pour r´esultat le texte saisi

attention : le r´esultat est de typestring, pr´evoir des conversions avec

parseIntouparseFloat si n´ecessaire.

document.writeet document.writeln

´

ecrit du texte dans le flux html

le texte ´ecrit est interpr´et´e par le navigateur

attention : efface le contenu du document si le flux doit ˆetre r´eouvert

ne pas utiliser pour modifier un document, uniquement lors de sa cr´eation ! (en fait ne pas utiliser du tout...)

exemples 1234

(82)

introduction types fonctions structures conversions objets

premi`

eres interactions avec document html

en attendant mieux...

window.alert affiche une « popup » d’information

window.prompt

affiche une boˆıte de dialogue avec une zone de saisie de texte a pour r´esultat le texte saisi

attention : le r´esultat est de typestring, pr´evoir des conversions avec

parseIntouparseFloat si n´ecessaire.

document.writeet document.writeln

´

ecrit du texte dans le flux html

le texte ´ecrit est interpr´et´e par le navigateur

attention : efface le contenu du document si le flux doit ˆetre r´eouvert

ne pas utiliser pour modifier un document, uniquement lors de sa cr´eation ! (en fait ne pas utiliser du tout...)

exemples 1234

(83)

introduction types fonctions structures conversions objets

premi`

eres interactions avec document html

en attendant mieux...

window.alert affiche une « popup » d’information

window.prompt

affiche une boˆıte de dialogue avec une zone de saisie de texte a pour r´esultat le texte saisi

attention : le r´esultat est de typestring, pr´evoir des conversions avec

parseIntouparseFloat si n´ecessaire.

document.writeet document.writeln

´

ecrit du texte dans le flux html

le texte ´ecrit est interpr´et´e par le navigateur

attention : efface le contenu du document si le flux doit ˆetre r´eouvert

ne pas utiliser pour modifier un document, uniquement lors de sa cr´eation ! (en fait ne pas utiliser du tout...)

exemples 1234

(84)

introduction types fonctions structures conversions objets

premi`

eres interactions avec document html

en attendant mieux...

window.alert affiche une « popup » d’information

window.prompt

affiche une boˆıte de dialogue avec une zone de saisie de texte a pour r´esultat le texte saisi

attention : le r´esultat est de typestring, pr´evoir des conversions avec

parseIntouparseFloat si n´ecessaire.

document.write et document.writeln

´

ecrit du texte dans le flux html

le texte ´ecrit est interpr´et´e par le navigateur

attention : efface le contenu du document si le flux doit ˆetre r´eouvert

ne pas utiliserpour modifier un document, uniquement lors de sa cr´eation ! (en fait ne pas utiliser du tout...)

exemples 1234

(85)

introduction types fonctions structures conversions objets

premi`

eres interactions avec document html

en attendant mieux...

window.alert affiche une « popup » d’information

window.prompt

affiche une boˆıte de dialogue avec une zone de saisie de texte a pour r´esultat le texte saisi

attention : le r´esultat est de typestring, pr´evoir des conversions avec

parseIntouparseFloat si n´ecessaire.

document.write et document.writeln

´

ecrit du texte dans le flux html

le texte ´ecrit est interpr´et´e par le navigateur

attention : efface le contenu du document si le flux doit ˆetre r´eouvert

ne pas utiliserpour modifier un document, uniquement lors de sa cr´eation ! (en fait ne pas utiliser du tout...)

exemples 1234

(86)

introduction types fonctions structures conversions objets

premi`

eres interactions avec document html

en attendant mieux...

window.alert affiche une « popup » d’information

window.prompt

affiche une boˆıte de dialogue avec une zone de saisie de texte a pour r´esultat le texte saisi

attention : le r´esultat est de typestring, pr´evoir des conversions avec

parseIntouparseFloat si n´ecessaire.

document.write et document.writeln

´

ecrit du texte dans le flux html

le texte ´ecrit est interpr´et´e par le navigateur

attention : efface le contenu du document si le flux doit ˆetre r´eouvert

ne pas utiliserpour modifier un document, uniquement lors de sa cr´eation ! (en fait ne pas utiliser du tout...)

exemples 1234

(87)

introduction types fonctions structures conversions objets

premi`

eres interactions avec document html

en attendant mieux...

window.alert affiche une « popup » d’information

window.prompt

affiche une boˆıte de dialogue avec une zone de saisie de texte a pour r´esultat le texte saisi

attention : le r´esultat est de typestring, pr´evoir des conversions avec

parseIntouparseFloat si n´ecessaire.

document.write et document.writeln

´

ecrit du texte dans le flux html

le texte ´ecrit est interpr´et´e par le navigateur

attention : efface le contenu du document si le flux doit ˆetre r´eouvert

ne pas utiliserpour modifier un document, uniquement lors de sa cr´eation ! (en fait ne pas utiliser du tout...)

exemples 1234

(88)

introduction types fonctions structures conversions objets

premi`

eres interactions avec document html

en attendant mieux...

window.alert affiche une « popup » d’information

window.prompt

affiche une boˆıte de dialogue avec une zone de saisie de texte a pour r´esultat le texte saisi

attention : le r´esultat est de typestring, pr´evoir des conversions avec

parseIntouparseFloat si n´ecessaire.

document.write et document.writeln

´

ecrit du texte dans le flux html

le texte ´ecrit est interpr´et´e par le navigateur

attention : efface le contenu du document si le flux doit ˆetre r´eouvert

ne pas utiliserpour modifier un document, uniquement lors de sa cr´eation ! (en fait ne pas utiliser du tout...)

exemples 1234

(89)

introduction types fonctions structures conversions objets

`

a suivre...

javascript : tableaux

Références

Documents relatifs

statistiques descriptives, permettent ainsi de connaitre la situation de chaque génération lors de leur premier emploi et trois ans après, soit en 2001, en 2007 et en

Par ailleurs, les enfants ont tous utilisé PLAY-ON à partir du clavier, c'est à dire des flèches directionnelles (la gauche et la droite pour la discrimination et les quatre pour

Many of MDE activities such as DSL creation, model editing, or model transfor- mations involve repetitive tasks and a lot of user interactions with the user interface of the MDE

Pour répondre à notre problématique, trois séries d’hypothèses de recherche sont formulées quant à l’influence du format de présentation de la performance, de son

Résumé : Dans son rapport sur la Francophonie économique, Attali (2014, p.47) indique que la préférence pour le français dans les échanges commerciaux disparaîtra si

La distinction entre véracité historique et élan narratif est plus évidente encore lorsqu’il s’agit d’un programme de fantasy, comme la série animée Désenchantée

« Circuler », le terme est un peu usurpé car, plus dans cette série, on passe d’intérieurs en intérieurs (de scènes en scènes), différents types d’espaces nombreux, mais

des théories axiomatisées qui ont toutes le même niveau de consistance, celui des mathématiques en général. Comme elles diffèrent les unes des autres, une seule