<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JavaScript &#8211; Premier site en local sur wordpress</title>
	<atom:link href="https://wp.gwd-france.com/category/web/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>https://wp.gwd-france.com</link>
	<description>L&#039;expérience, c&#039;est le nom que l&#039;on donne à ses erreurs.</description>
	<lastBuildDate>Mon, 30 Dec 2019 08:55:42 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.9.3</generator>
	<item>
		<title>Animation avec les »sprite »</title>
		<link>https://wp.gwd-france.com/2019/01/14/animation-avec-lessprite/</link>
		
		<dc:creator><![CDATA[yannick]]></dc:creator>
		<pubDate>Mon, 14 Jan 2019 08:20:04 +0000</pubDate>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML-CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://wp.gwd-france.com/?p=2359</guid>

					<description><![CDATA[La technique consiste à charger toute les images d&#8217;une animation et de n&#8217;en afficher qu&#8217;une seul. Ensuite, de déplacer le fond de manière à faire apparaitre la seconde image, puis la troisième, etc &#8230; pour donner ainsi l&#8217;illusion de mouvement. Ceci peut-être répéter à l&#8217;infinie. Ici un exemple de code, donnant l&#8217;illusion d&#8217;un personnage qui...]]></description>
										<content:encoded><![CDATA[
<p>La technique consiste à charger toute les images d&rsquo;une animation et de n&rsquo;en afficher qu&rsquo;une seul. Ensuite, de déplacer le fond de manière à faire apparaitre la seconde image, puis la troisième, etc &#8230; pour donner ainsi l&rsquo;illusion de mouvement. Ceci peut-être répéter à l&rsquo;infinie.</p>



<p>Ici un exemple de code, donnant l&rsquo;illusion d&rsquo;un personnage qui marche:</p>



<div class="wp-block-image"><figure class="aligncenter"><img width="1328" height="1692" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-14-à-08.57.57.png" alt="" class="wp-image-2360" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-14-à-08.57.57.png 1328w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-14-à-08.57.57-235x300.png 235w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-14-à-08.57.57-768x979.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-14-à-08.57.57-804x1024.png 804w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-14-à-08.57.57-300x382.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-14-à-08.57.57-850x1083.png 850w" sizes="(max-width: 1328px) 100vw, 1328px" /></figure></div>



<p>L&rsquo;image de départ pour cette animation:</p>



<div class="wp-block-image"><figure class="aligncenter"><img width="1142" height="635" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/pGGbv.png" alt="" class="wp-image-2361" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/pGGbv.png 1142w, https://wp.gwd-france.com/wp-content/uploads/2019/01/pGGbv-300x167.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/pGGbv-768x427.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/pGGbv-1024x569.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2019/01/pGGbv-850x473.png 850w" sizes="(max-width: 1142px) 100vw, 1142px" /></figure></div>



<p>Il est aisé de deviner que suivant la position du fond, avec cette planche de dessin, nous pourrons donner l&rsquo;illusion de quatre déplacements différents pour ce personnage.</p>



<p><strong>Par la suite</strong>&#8230;..</p>



<p>Deux animation, le texte, et le personnage plus la suite du texte, déclenchés par un clique sur le bouton.</p>



<p>Testez vous même! </p>



<p>N&rsquo;hésitez pas à réactualiser la page pour voir le début de l&rsquo;animation.</p>



<p></p>



<style>
       
.afficheur {
            margin: ;
            border-style: none;
            width: 150%;
            height: 282px;
transform:scale(.666);
transform-origin:0 0;
overflow: hidden;
        }
        .afficheur iframe {
            width: 100%;
            height: 120%;
            border: solid 1px #ccc;
        }
</style>

<div class="afficheur">
<iframe src="https://banniere1.gwd-france.com/" name="Animation Sprite" title="animationSprite"></iframe>
</div>



<div class="wp-block-image"><figure class="aligncenter"><img width="1572" height="2662" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.04.36.png" alt="" class="wp-image-2405" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.04.36.png 1572w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.04.36-177x300.png 177w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.04.36-768x1301.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.04.36-605x1024.png 605w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.04.36-300x508.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.04.36-850x1439.png 850w" sizes="(max-width: 1572px) 100vw, 1572px" /></figure></div>



<div class="wp-block-image"><figure class="aligncenter"><img width="1586" height="1808" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.04.59-1.png" alt="" class="wp-image-2410" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.04.59-1.png 1586w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.04.59-1-263x300.png 263w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.04.59-1-768x876.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.04.59-1-898x1024.png 898w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.04.59-1-300x342.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.04.59-1-850x969.png 850w" sizes="(max-width: 1586px) 100vw, 1586px" /></figure></div>



<div class="wp-block-image"><figure class="aligncenter"><img width="1584" height="2350" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.05.12-1.png" alt="" class="wp-image-2411" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.05.12-1.png 1584w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.05.12-1-202x300.png 202w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.05.12-1-768x1139.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.05.12-1-690x1024.png 690w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.05.12-1-300x445.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.05.12-1-850x1261.png 850w" sizes="(max-width: 1584px) 100vw, 1584px" /></figure></div>



<p>Le fichier js:</p>



<div class="wp-block-image"><figure class="aligncenter"><img width="1010" height="1090" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.05.39-1.png" alt="" class="wp-image-2412" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.05.39-1.png 1010w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.05.39-1-278x300.png 278w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.05.39-1-768x829.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.05.39-1-949x1024.png 949w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.05.39-1-300x324.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-15-à-08.05.39-1-850x917.png 850w" sizes="(max-width: 1010px) 100vw, 1010px" /></figure></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Animation et Javascript</title>
		<link>https://wp.gwd-france.com/2019/01/10/animation-et-javascript/</link>
		
		<dc:creator><![CDATA[yannick]]></dc:creator>
		<pubDate>Thu, 10 Jan 2019 14:22:10 +0000</pubDate>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML-CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://wp.gwd-france.com/?p=2329</guid>

					<description><![CDATA[Une première animation avec intégration de javascript. En commentaire les différente méthode d&#8217;intégration du onclick. Dans le html ou dans un script. Il faut bien faire attention à ce que chaque bouton et élément devant être actionné en même temps face partie d&#8217;un parent commun. Le script du fichier classlist.js]]></description>
										<content:encoded><![CDATA[
<p>Une première animation avec intégration de javascript. En commentaire les différente méthode d&rsquo;intégration du onclick.  Dans le html ou dans un script.</p>



<div class="wp-block-image"><figure class="aligncenter"><img width="1616" height="2536" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.56.41.png" alt="" class="wp-image-2350" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.56.41.png 1616w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.56.41-191x300.png 191w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.56.41-768x1205.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.56.41-653x1024.png 653w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.56.41-300x471.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.56.41-850x1334.png 850w" sizes="(max-width: 1616px) 100vw, 1616px" /><figcaption><br></figcaption></figure></div>



<div class="wp-block-image"><figure class="aligncenter"><img width="1616" height="2500" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.56.59.png" alt="" class="wp-image-2351" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.56.59.png 1616w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.56.59-194x300.png 194w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.56.59-768x1188.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.56.59-662x1024.png 662w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.56.59-300x464.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.56.59-850x1315.png 850w" sizes="(max-width: 1616px) 100vw, 1616px" /></figure></div>



<div class="wp-block-image"><figure class="aligncenter"><img width="1620" height="2138" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.57.13.png" alt="" class="wp-image-2352" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.57.13.png 1620w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.57.13-227x300.png 227w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.57.13-768x1014.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.57.13-776x1024.png 776w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.57.13-300x396.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.57.13-850x1122.png 850w" sizes="(max-width: 1620px) 100vw, 1620px" /></figure></div>



<p>Il faut bien faire attention à ce que chaque bouton et élément devant être actionné en même temps face partie d&rsquo;un parent commun. </p>



<p>Le script du fichier <em>classlist.js</em></p>



<figure class="wp-block-image"><img width="1028" height="1116" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.59.26.png" alt="" class="wp-image-2353" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.59.26.png 1028w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.59.26-276x300.png 276w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.59.26-768x834.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.59.26-943x1024.png 943w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.59.26-300x326.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.59.26-850x923.png 850w" sizes="(max-width: 1028px) 100vw, 1028px" /></figure>



<p></p>



<figure class="wp-block-image"><img width="2306" height="166" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.55.12.png" alt="" class="wp-image-2354" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.55.12.png 2306w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.55.12-300x22.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.55.12-768x55.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.55.12-1024x74.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-11-à-10.55.12-850x61.png 850w" sizes="(max-width: 2306px) 100vw, 2306px" /></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ClassList</title>
		<link>https://wp.gwd-france.com/2018/12/21/classlist/</link>
		
		<dc:creator><![CDATA[yannick]]></dc:creator>
		<pubDate>Fri, 21 Dec 2018 10:19:05 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://wp.gwd-france.com/?p=2094</guid>

					<description><![CDATA[Basculer les valeurs d&#8217;un objet. Le même code simplifier: &#160; Evaluation!!! 1ere partie: &#160; 2eme partie: Noter qu&#8217;il n&#8217;y a pas d&#8217;espace entre .diapositive.diapositiveActive, dans le css, ceci à pour effet de cibler les deux class. Dans le script, ajouteClass, de la variable lien04, n&#8217;est pas util, puisque que la fonction ne sert uniquement qu&#8217;...]]></description>
										<content:encoded><![CDATA[<p>Basculer les valeurs d&rsquo;un objet.</p>
<p><img class="size-full wp-image-2096 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/classlist.jpg" alt="" width="463" height="851" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/classlist.jpg 463w, https://wp.gwd-france.com/wp-content/uploads/2018/12/classlist-163x300.jpg 163w, https://wp.gwd-france.com/wp-content/uploads/2018/12/classlist-300x551.jpg 300w" sizes="(max-width: 463px) 100vw, 463px" /></p>
<p>Le même code simplifier:</p>
<p><img class="size-full wp-image-2099 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/classlist01.jpg" alt="" width="561" height="906" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/classlist01.jpg 561w, https://wp.gwd-france.com/wp-content/uploads/2018/12/classlist01-186x300.jpg 186w, https://wp.gwd-france.com/wp-content/uploads/2018/12/classlist01-300x484.jpg 300w" sizes="(max-width: 561px) 100vw, 561px" /> <img class="size-full wp-image-2100 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/classlist01bis.jpg" alt="" width="599" height="523" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/classlist01bis.jpg 599w, https://wp.gwd-france.com/wp-content/uploads/2018/12/classlist01bis-300x262.jpg 300w" sizes="(max-width: 599px) 100vw, 599px" /></p>
<p>&nbsp;</p>
<h2>Evaluation!!!</h2>
<p>1ere partie:</p>
<p><img class="size-large wp-image-2125 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.07-678x1024.png" alt="" width="640" height="967" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.07-678x1024.png 678w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.07-199x300.png 199w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.07-768x1160.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.07-300x453.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.07-850x1284.png 850w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.07.png 1366w" sizes="(max-width: 640px) 100vw, 640px" /> <img class="size-large wp-image-2124 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.23-807x1024.png" alt="" width="640" height="812" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.23-807x1024.png 807w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.23-236x300.png 236w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.23-768x975.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.23-300x381.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.23-850x1079.png 850w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.23.png 1350w" sizes="(max-width: 640px) 100vw, 640px" /> <img class="size-large wp-image-2123 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.36-739x1024.png" alt="" width="640" height="887" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.36-739x1024.png 739w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.36-217x300.png 217w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.36-768x1064.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.36-300x415.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.36-850x1177.png 850w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.09.36.png 1356w" sizes="(max-width: 640px) 100vw, 640px" /> <img class="size-large wp-image-2122 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.15.28-690x1024.png" alt="" width="640" height="950" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.15.28-690x1024.png 690w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.15.28-202x300.png 202w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.15.28-768x1140.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.15.28-300x445.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.15.28-850x1262.png 850w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.15.28.png 1350w" sizes="(max-width: 640px) 100vw, 640px" /> <img class="size-large wp-image-2121 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.21.25-1024x467.png" alt="" width="640" height="292" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.21.25-1024x467.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.21.25-300x137.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.21.25-768x350.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.21.25-850x388.png 850w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-16.21.25.png 1350w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>&nbsp;</p>
<p>2eme partie:</p>
<p><img class="size-full wp-image-2114 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.00.18.png" alt="" width="1274" height="1924" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.00.18.png 1274w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.00.18-199x300.png 199w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.00.18-768x1160.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.00.18-678x1024.png 678w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.00.18-300x453.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.00.18-850x1284.png 850w" sizes="(max-width: 1274px) 100vw, 1274px" /></p>
<p>Noter qu&rsquo;il n&rsquo;y a pas d&rsquo;espace entre<em> .diapositive.diapositiveActive</em>, dans le css, ceci à pour effet de cibler les deux class.</p>
<p><img class="size-full wp-image-2117 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.07.41.png" alt="" width="1408" height="2716" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.07.41.png 1408w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.07.41-156x300.png 156w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.07.41-768x1481.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.07.41-531x1024.png 531w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.07.41-300x579.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.07.41-850x1640.png 850w" sizes="(max-width: 1408px) 100vw, 1408px" /></p>
<p>Dans le script, <em>ajouteClass</em>, de la variable <em>lien04</em>, n&rsquo;est pas util, puisque que la fonction ne sert uniquement qu&rsquo; à retirer.</p>
<p>Le fichier JS:</p>
<p><img class="size-large wp-image-2119 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.10.05-1024x977.png" alt="" width="640" height="611" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.10.05-1024x977.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.10.05-300x286.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.10.05-768x733.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.10.05-850x811.png 850w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-03-à-15.10.05.png 1128w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>&nbsp;</p>
<p>Autre exercice:</p>
<p>Création d&rsquo;une galerie avec déplacement des images, plus fondu à la transition.</p>
<p><img class="size-large wp-image-2134 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.04.41-1024x824.png" alt="" width="640" height="515" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.04.41-1024x824.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.04.41-300x241.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.04.41-768x618.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.04.41-850x684.png 850w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.04.41.png 1678w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>Le code:<img class="size-large wp-image-2132 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.03.49-671x1024.png" alt="" width="640" height="977" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.03.49-671x1024.png 671w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.03.49-197x300.png 197w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.03.49-768x1171.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.03.49-300x458.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.03.49-850x1296.png 850w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.03.49.png 1630w" sizes="(max-width: 640px) 100vw, 640px" /><img class="size-large wp-image-2133 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.04.05-728x1024.png" alt="" width="640" height="900" srcset="https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.04.05-728x1024.png 728w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.04.05-213x300.png 213w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.04.05-768x1081.png 768w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.04.05-300x422.png 300w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.04.05-850x1196.png 850w, https://wp.gwd-france.com/wp-content/uploads/2019/01/Capture-d’écran-2019-01-07-à-10.04.05.png 1640w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Galerie Javascript</title>
		<link>https://wp.gwd-france.com/2018/12/18/galerie-javascript/</link>
		
		<dc:creator><![CDATA[yannick]]></dc:creator>
		<pubDate>Tue, 18 Dec 2018 08:22:32 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://wp.gwd-france.com/?p=2043</guid>

					<description><![CDATA[Exercice concret: Pour intégrer dans la page html, placer juste avant le &#60;/body&#62; le chemin du fichier. &#60;script src="js/galeries01.js"&#62;&#60;/script&#62; Dans le fichier .js, pour récupérer, placer: var galerie = document.querySelector('#galerie-01'); var afficheur = galerie.querySelector('.afficheur'); var liens =galerie.querySelectorAll('a'); Pour récupérer toutes les photos, il nous faut faire une boucle: for (let i=0; i&#60;liens.length; i++){ liens[i].onclick=function(){ afficheur.src=this.href;...]]></description>
										<content:encoded><![CDATA[<p><strong>Exercice concret:</strong></p>
<p>Pour intégrer dans la page html, placer juste avant le &lt;/body&gt; le chemin du fichier.</p>
<div>
<pre style="padding-left: 30px;">&lt;script src="js/galeries01.js"&gt;&lt;/script&gt;

</pre>
<div>
<pre style="padding-left: 30px;"></pre>
</div>
<pre style="padding-left: 30px;"><img class="size-full wp-image-2059 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/galerie-html-pour-js.jpg" alt="" width="735" height="785" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/galerie-html-pour-js.jpg 735w, https://wp.gwd-france.com/wp-content/uploads/2018/12/galerie-html-pour-js-281x300.jpg 281w, https://wp.gwd-france.com/wp-content/uploads/2018/12/galerie-html-pour-js-300x320.jpg 300w" sizes="(max-width: 735px) 100vw, 735px" />

</pre>
<pre style="padding-left: 30px;"></pre>
<div></div>
<div>Dans le fichier .js, pour récupérer, placer:</div>
<div></div>
<div>
<pre style="padding-left: 30px;">var galerie = document.querySelector('#galerie-01');

var afficheur = galerie.querySelector('.afficheur');</pre>
<div style="padding-left: 30px;">
<div>
<pre>var liens =galerie.querySelectorAll('a');</pre>
</div>
</div>
<div></div>
<div>
<div>
<pre style="padding-left: 30px;"></pre>
<div></div>
</div>
</div>
<div>Pour récupérer toutes les photos, il nous faut faire une boucle:</div>
<div>
<div>
<pre style="padding-left: 30px;">for (let i=0; i&lt;liens.length; i++){

liens[i].onclick=function(){

afficheur.src=this.href;

returnfalse;

}

}</pre>
</div>
</div>
<div>
<div>
<pre style="padding-left: 30px;"></pre>
</div>
</div>
<div></div>
<div>Pour un résultat:</div>
<div><img class="size-full wp-image-2057 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/galerie-js.jpg" alt="" width="783" height="755" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/galerie-js.jpg 783w, https://wp.gwd-france.com/wp-content/uploads/2018/12/galerie-js-300x289.jpg 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/galerie-js-768x741.jpg 768w" sizes="(max-width: 783px) 100vw, 783px" /></div>
</div>
<div>
<p>Pour rajouter un le titre de l&rsquo;image, sous l&rsquo;image nous rajoutons dans le html:</p>
<pre style="padding-left: 30px;">&lt;div class="titreImage"&gt;Le titre de l'image&lt;/div&gt;


</pre>
<div>Pour rajouter un le titre de l&rsquo;image, sous l&rsquo;image nous rajoutons dans le js:</div>
<div></div>
<pre style="padding-left: 30px;">var titreImage = document.querySelector('.titreImage');



</pre>
<div>Pour rajouter  le titre de l&rsquo;image, sous l&rsquo;image nous rajoutons dans la boucle et la fonction:</div>
<div></div>
<div>
<pre style="padding-left: 30px;">titreImage.innerHTML = this.title;


</pre>
<p><strong>Autre exercice:</strong></p>
<p>Pour arriver au même résulta mais sans rien ajouter au html:</p>
<div>
<pre style="padding-left: 30px;">var galerie = document.querySelector('#galerie-01'); 
var afficheur = document.createElement('img'); 
afficheur.classList.add('afficheur'); 
galerie.appendChild(afficheur); 

var titreImage = document.createElement('div'); 
titreImage.classList.add('titre-image'); 
galerie.appendChild(titreImage); 

var liens = galerie.querySelectorAll('a'); 

for ( let i=0 ; i&lt;liens.length ; i++ ) { 
liens[i].onclick=function() { 
afficheur.src=this.href; 
titreImage.innerHTML=this.title; 
return false; 
} 
}</pre>
<p><strong>Autre galerie:</strong></p>
<div>
<pre style="padding-left: 30px;">var galerie = document.querySelector('#galerie-01');

var afficheur = document.createElement('img');

afficheur.classList.add('afficheur');

galerie.appendChild(afficheur);

var titreImage = document.createElement('div');

titreImage.classList.add('titre-image');

galerie.appendChild(titreImage);

var liens = galerie.querySelectorAll('a');

for ( let i=0 ; i&lt;liens.length ; i++ ) {

liens[i].onclick=function() {

afficheur.src=this.href;

titreImage.innerHTML=this.title;

returnfalse;

}

}</pre>
</div>
<div></div>
<div>Le résultat:</div>
</div>
<div><img class="size-full wp-image-2076 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/galerie-autre.jpg" alt="" width="484" height="830" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/galerie-autre.jpg 484w, https://wp.gwd-france.com/wp-content/uploads/2018/12/galerie-autre-175x300.jpg 175w, https://wp.gwd-france.com/wp-content/uploads/2018/12/galerie-autre-300x514.jpg 300w" sizes="(max-width: 484px) 100vw, 484px" /></div>
</div>
</div>
</div>
<div></div>
<h3>Slider:</h3>
<div>Préparer les dossiers:</div>
<div><img class="alignnone size-full wp-image-2080" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/dossier-slider.jpg" alt="" width="130" height="129" /></div>
<div></div>
<div>Sur le site  <a href="http://sachinchoolur.github.io/lightslider/index.html">http://sachinchoolur.github.io/lightslider/index.html</a></div>
<div>Récupérer le contenu des lightSlider.css et lightSlider.js et récuperer aussi l&rsquo;image dans le dossier image.</div>
<div style="padding-left: 30px;"><a href="https://github.com/sachinchoolur/lightslider/tree/master/dist">https://github.com/sachinchoolur/lightslider/tree/master/dist</a></div>
<div>Ou télécharger tout le dossier:</div>
<div style="padding-left: 30px;"> <a href="https://github.com/sachinchoolur/lightslider">https://github.com/sachinchoolur/lightslider</a></div>
<div>Le déziper  en sortir le contenu du dossier dist et le placer dans notre dossier www avec la page html</div>
<div></div>
<div>Dans le head de la page html  placer:</div>
<div>
<pre style="padding-left: 30px;">&lt;<span class="pl-ent">link</span> <span class="pl-e">type</span>=<span class="pl-s"><span class="pl-pds">"</span>text/css<span class="pl-pds">"</span></span> <span class="pl-e">rel</span>=<span class="pl-s"><span class="pl-pds">"</span>stylesheet<span class="pl-pds">"</span></span> <span class="pl-e">href</span>=<span class="pl-s"><span class="pl-pds">"</span>css/lightslider.css<span class="pl-pds">"</span></span> /&gt; 
&lt;<span class="pl-ent">script</span> <span class="pl-e">src</span>=<span class="pl-s"><span class="pl-pds">"</span>//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js<span class="pl-pds">"</span></span>&gt;&lt;/<span class="pl-ent">script</span>&gt; 
&lt;<span class="pl-ent">script</span> <span class="pl-e">src</span>=<span class="pl-s"><span class="pl-pds">"</span>js/lightslider.js<span class="pl-pds">"</span></span>&gt;&lt;/<span class="pl-ent">script</span>&gt;


</pre>
<p>Dans le bas de page avant &lt;/body&gt; placer:</p>
<pre style="padding-left: 30px;">&lt;<span class="pl-ent">script</span> <span class="pl-e">type</span>=<span class="pl-s"><span class="pl-pds">"</span>text/javascript<span class="pl-pds">"</span></span>&gt; 
<span class="pl-s1"><span class="pl-en">$</span>(<span class="pl-c1">document</span>).<span class="pl-en">ready</span>(<span class="pl-k">function</span>() {</span> 
<span class="pl-s1"><span class="pl-en">$</span>(<span class="pl-s"><span class="pl-pds">"</span>#light-slider<span class="pl-pds">"</span></span>).<span class="pl-en">lightSlider</span>();</span> <span class="pl-s1"> 
});</span> 
&lt;/<span class="pl-ent">script</span>&gt;</pre>
<p>Et pour le contenu:</p>
<div>
<pre style="padding-left: 30px;">&lt;ul id="light-slider"&gt;
&lt;li&gt;
&lt;imgsrc = "https://lp.trucdev.fr/paysages/400/200/1"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;imgsrc = "https://lp.trucdev.fr/paysages/400/200/2"&gt;
&lt;/li&gt;

&lt;/ul&gt;</pre>
</div>
</div>
<div></div>
<p>Nous pouvons modifier le slider, pour par exemple, rendre notre slider automatique(en passant les valeur false en true):</p>
<div>
<div>
<pre style="padding-left: 30px;">&lt;script type="text/javascript"&gt;

        $(document).ready(function() {
            $("#light-slider").lightSlider({auto:true,});
        });

    &lt;/script&gt; // entre accolade nous pouvons changer beaucoup de chose 
{item:1,auto:true,speed:2000,pause:3000,}</pre>
</div>
</div>
<div>Voila notre slider avec défilement automatique.</div>
<div><img class="size-full wp-image-2085 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/slider.jpg" alt="" width="825" height="266" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/slider.jpg 825w, https://wp.gwd-france.com/wp-content/uploads/2018/12/slider-300x97.jpg 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/slider-768x248.jpg 768w" sizes="(max-width: 825px) 100vw, 825px" /></div>
<div><strong>Pour intégrer une galerie seul:</strong></div>
<div></div>
<div>Nous procédons un peu de la même manière. Toujours sur le même site.</div>
<div style="padding-left: 30px;"><a href="https://github.com/sachinchoolur/lightGallery">https://github.com/sachinchoolur/lightGallery</a></div>
<div>Sortir le contenu du dossier dist et le placer dans notre dossier www avec la page html</div>
<div>Dans le head placé</div>
<div>
<div>
<pre style="padding-left: 30px;">&lt;linktype="text/css"rel="stylesheet"href="css/lightgallery.css"/&gt;</pre>
<div>Le même script que pour le slider(sauf si celui-ci y est déjà):</div>
</div>
</div>
<pre style="padding-left: 30px;">&lt;<span class="pl-ent">script</span> <span class="pl-e">src</span>=<span class="pl-s"><span class="pl-pds">"</span>//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js<span class="pl-pds">"</span></span>&gt;&lt;/<span class="pl-ent">script</span>&gt;</pre>
<div>Et :</div>
<div>
<pre style="padding-left: 30px;">&lt;script src="js/lightgallery.js"&gt;&lt;/script&gt;</pre>
<div></div>
<div>Dans le bas de page:</div>
<div>
<pre style="padding-left: 30px;">&lt;script type="text/javascript"&gt;

$(document).ready(function() {
$("#ma-galerie").lightGallery();
});

&lt;/script&gt;</pre>
</div>
</div>
<div>Pour le contenu:</div>
<div>
<pre style="padding-left: 30px;">&lt;divid="ma-galerie"&gt;

&lt;ahref="https://lp.trucdev.fr/paysages/12000/1000/1"&gt;&lt;imgsrc="https://lp.trucdev.fr/paysages/100/100/1"&gt;&lt;/a&gt;
&lt;ahref="https://lp.trucdev.fr/paysages/12000/1000/2"&gt;&lt;imgsrc="https://lp.trucdev.fr/paysages/100/100/2"&gt;&lt;/a&gt;
&lt;ahref="https://lp.trucdev.fr/paysages/12000/1000/3"&gt;&lt;imgsrc="https://lp.trucdev.fr/paysages/100/100/3"&gt;&lt;/a&gt;

&lt;/div&gt;</pre>
</div>
<div></div>
<div><strong>Pour intégrer un slider et une galerie:</strong></div>
<div>Nous procédons de la même manière que pour le slide.</div>
<div></div>
<div>
<div>Dans le head de la page html  placer:</div>
<div>
<pre style="padding-left: 30px;">&lt;<span class="pl-ent">link</span> <span class="pl-e">type</span>=<span class="pl-s"><span class="pl-pds">"</span>text/css<span class="pl-pds">"</span></span> <span class="pl-e">rel</span>=<span class="pl-s"><span class="pl-pds">"</span>stylesheet<span class="pl-pds">"</span></span> <span class="pl-e">href</span>=<span class="pl-s"><span class="pl-pds">"</span>css/lightslider.css<span class="pl-pds">"</span></span> /&gt; 
&lt;<span class="pl-ent">script</span> <span class="pl-e">src</span>=<span class="pl-s"><span class="pl-pds">"</span>//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js<span class="pl-pds">"</span></span>&gt;&lt;/<span class="pl-ent">script</span>&gt; 
&lt;<span class="pl-ent">script</span> <span class="pl-e">src</span>=<span class="pl-s"><span class="pl-pds">"</span>js/lightslider.js<span class="pl-pds">"</span></span>&gt;&lt;/<span class="pl-ent">script</span>&gt;</pre>
</div>
</div>
<div>Dans le bas de page:</div>
<div>
<div>
<pre style="padding-left: 60px;">&lt;script type="text/javascript"&gt;

$(document).ready(function() {

$('#slider-galerie-01').lightSlider({
item:1,
auto:true,
speed:2000,
pause:3000,
gallery:true,
thumbItem:12,
onSliderLoad:function (el) {
el.lightGallery({
selector:'#slider-galerie-01 .lslide'

});
}
})
});
&lt;/script&gt;</pre>
</div>
</div>
<div style="padding-left: 30px;"></div>
<div>Pour le contenu:</div>
<div></div>
<div>
<div>
<pre style="padding-left: 30px;">&lt;h1&gt;Slider-galerie 01&lt;/h1&gt;

&lt;divid="slider-galerie-01"class="slider"&gt;

&lt;divdata-thumb="https://lp.trucdev.fr/trains/100/50/1"data-src="https://lp.trucdev.fr/trains/1200/800/1"&gt;&lt;imgsrc="https://lp.trucdev.fr/trains/1200/400/1"alt=""&gt;&lt;/div&gt;

&lt;divdata-thumb="https://lp.trucdev.fr/trains/100/50/2"data-src="https://lp.trucdev.fr/trains/1200/800/2"&gt;&lt;imgsrc="https://lp.trucdev.fr/trains/1200/400/2"alt=""&gt;&lt;/div&gt;

&lt;divdata-thumb="https://lp.trucdev.fr/trains/100/50/3"data-src="https://lp.trucdev.fr/trains/1200/800/3"&gt;&lt;imgsrc="https://lp.trucdev.fr/trains/1200/400/3"alt=""&gt;&lt;/div&gt;

&lt;/div&gt;</pre>
</div>
</div>
<div>Le data-src, renvoi à l&rsquo;url de l&rsquo;image correspondant au slide dans la galerie.</div>
<div></div>
<div>Si nous voulions placer les slides  et galerie ensemble, il ne serait pas nécessaire de doubler certain liens en commun.</div>
<div>Ex:</div>
<div></div>
<div>
<div>
<pre style="padding-left: 60px;">&lt;link type="text/css" rel="stylesheet" href="css/lightslider.css" /&gt;
&lt;scriptsrc="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"&gt;&lt;/script&gt;
&lt;scriptsrc="js/lightslider.js"&gt;&lt;/script&gt;
&lt;linktype="text/css"rel="stylesheet"href="css/lightgallery.css"/&gt;
&lt;scriptsrc="js/lightgallery-all.js"&gt;&lt;/script&gt;
&lt;linkrel="stylesheet"href="css/slider01.css"&gt;</pre>
</div>
</div>
<pre style="padding-left: 30px;">
</pre>
<div style="padding-left: 30px;">
<div style="padding-left: 30px;">
<pre style="padding-left: 30px;">&lt;script type="text/javascript"&gt;
$(document).ready(function() {

$("#light-slider").lightSlider({auto:true, gallery:true,item:1,});

$("#ma-galerie").lightGallery({thumbnail :true,thumbItem:14,});

$('#slider-galerie-01').lightSlider({
item:1,
auto:true,
speed:2000,
pause:3000,
gallery:true,
thumbItem:12,
onSliderLoad:function (el) {
el.lightGallery({
selector:'#slider-galerie-01 .lslide'
});
}
})
});
&lt;/script&gt;</pre>
</div>
</div>
<h3></h3>
<h3>Smooth scroll:</h3>
<div>A l&rsquo;adresse <a href="https://github.com/flynnham/jetpack.js">https://github.com/flynnham/jetpack.js </a>Dans dist prendre jetpack.js et en faire un fichier dans le dossier .js</div>
<div></div>
<div>Dans le head placer:</p>
<div>
<pre style="padding-left: 30px;">&lt;script src="js/jetpack.js"&gt;&lt;/script&gt;</pre>
<div></div>
<div>Dans le bas de page(imperativement):</div>
<div>
<div>
<pre style="padding-left: 30px;">&lt;script&gt;

varjet = newjetpack({duration:200});
jet.hookAnchors();

&lt;/script&gt;</pre>
</div>
</div>
</div>
</div>
<div>Pour le css nous fixons la navigation-principale en: position:sticky; et top:0; (les deux vont ensemble);</div>
<div></div>
<div></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Les objets et les tableaux</title>
		<link>https://wp.gwd-france.com/2018/12/10/les-objets-et-les-tableaux/</link>
		
		<dc:creator><![CDATA[yannick]]></dc:creator>
		<pubDate>Mon, 10 Dec 2018 12:35:28 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://wp.gwd-france.com/?p=1958</guid>

					<description><![CDATA[Le JavaScript met à notre disposition des objets natifs, c&#8217;est-à-dire des objets directement utilisables. Vous avez déjà manipulé de tels objets sans le savoir : un nombre, une chaîne de caractères ou même un booléen. Que contiennent les objets ? Les objets contiennent trois choses distinctes : un constructeur ; des propriétés ; des méthodes....]]></description>
										<content:encoded><![CDATA[<p>Le JavaScript met à notre disposition des objets natifs, c&rsquo;est-à-dire des objets directement utilisables. Vous avez déjà manipulé de tels objets sans le savoir : un nombre, une chaîne de caractères ou même un booléen.</p>
<h4 id="r-1923941" class="" data-claire-element-id="2558982">Que contiennent les objets ?</h4>
<p id="r-1923927" class="" data-claire-element-id="2046096">Les objets contiennent trois choses distinctes :</p>
<ul id="r-1923934" class="" data-claire-element-id="2558981">
<li id="r-1923929" data-claire-element-id="2558976">
<p id="r-1923928" data-claire-element-id="2558975">un constructeur ;</p>
</li>
<li id="r-1923931" data-claire-element-id="2558978">
<p id="r-1923930" data-claire-element-id="2558977">des propriétés ;</p>
</li>
<li id="r-1923933" data-claire-element-id="2558980">
<p id="r-1923932" data-claire-element-id="2558979">des méthodes.</p>
</li>
</ul>
<h5 id="r-1923938" class="" data-claire-element-id="2046107">Les propriétés</h5>
<p id="r-1923937" class="" data-claire-element-id="2046106">Toute valeur va être placée dans une variable au sein de l&rsquo;objet : c&rsquo;est ce que l&rsquo;on appelle une <strong>propriété</strong>. Une propriété est une variable contenue dans l&rsquo;objet, elle contient des informations nécessaires au fonctionnement de l&rsquo;objet.</p>
<h5 id="r-1923940" class="" data-claire-element-id="2046109">Les méthodes</h5>
<p id="r-1923939" class="" data-claire-element-id="2046108">Enfin, il est possible de modifier l&rsquo;objet. Cela se fait par l&rsquo;intermédiaire des <strong>méthodes</strong>. Les méthodes sont des fonctions contenues dans l&rsquo;objet, et qui permettent de réaliser des opérations sur le contenu de l&rsquo;objet. Par exemple, dans le cas d&rsquo;une chaîne de caractères, il existe une méthode qui permet de mettre la chaîne de caractères en majuscules.</p>
<h4 id="r-1923949" class="" data-claire-element-id="8083295">Exemple d&rsquo;utilisation</h4>
<p>Ici on attribue a  la variable <strong>stagiaire01</strong> les propriétés: <em>prenom</em> et<em> nom</em> auxquelles on attribue une valeur.</p>
<div>
<pre style="padding-left: 30px;">var stagiaire01 = {prenom:"truc",nom:"muche"};

</pre>
</div>
<p data-claire-element-id="2046111">Affiche muche 45 ans</p>
<p data-claire-element-id="2046111"><img class="size-full wp-image-2031 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/objet.jpg" alt="" width="1273" height="414" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/objet.jpg 1273w, https://wp.gwd-france.com/wp-content/uploads/2018/12/objet-300x98.jpg 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/objet-768x250.jpg 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/objet-1024x333.jpg 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/objet-850x276.jpg 850w" sizes="(max-width: 1273px) 100vw, 1273px" /></p>
<p data-claire-element-id="2046111">Affiche le prénom, le nom et l&rsquo;age renseignés:</p>
<p data-claire-element-id="2046111"><img class="size-full wp-image-2033 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/objet2.jpg" alt="" width="1165" height="532" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/objet2.jpg 1165w, https://wp.gwd-france.com/wp-content/uploads/2018/12/objet2-300x137.jpg 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/objet2-768x351.jpg 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/objet2-1024x468.jpg 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/objet2-850x388.jpg 850w" sizes="(max-width: 1165px) 100vw, 1165px" /></p>
<p data-claire-element-id="2046111"><strong>Méthode:</strong></p>
<p data-claire-element-id="2046111">(La fonction est la méthode).</p>
<p data-claire-element-id="2046111">Afficher l&rsquo;identité et le lieu renseigner.</p>
<p data-claire-element-id="2046111"><img class="size-full wp-image-2037 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/objet4.jpg" alt="" width="1217" height="725" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/objet4.jpg 1217w, https://wp.gwd-france.com/wp-content/uploads/2018/12/objet4-300x180.jpg 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/objet4-768x458.jpg 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/objet4-1024x610.jpg 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/objet4-850x506.jpg 850w" sizes="(max-width: 1217px) 100vw, 1217px" /></p>
<p data-claire-element-id="2046111">Affiche l&rsquo;identité d&rsquo;un stagiaire et l&rsquo;ajoute dans la cible:</p>
<p data-claire-element-id="2046111"><img class="size-full wp-image-2039 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/objet5.jpg" alt="" width="793" height="822" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/objet5.jpg 793w, https://wp.gwd-france.com/wp-content/uploads/2018/12/objet5-289x300.jpg 289w, https://wp.gwd-france.com/wp-content/uploads/2018/12/objet5-768x796.jpg 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/objet5-300x311.jpg 300w" sizes="(max-width: 793px) 100vw, 793px" /></p>
<p data-claire-element-id="2046111">
<p id="r-1923942" class="hoveredCourseElement" data-claire-element-id="2046111">Nous allons créer une chaîne de caractères, pour ensuite afficher son nombre de caractères et la transformer en majuscules. Soit la mise en pratique de la partie théorique que nous venons de voir.</p>
<pre style="padding-left: 30px;">var myString = 'Ceci est une chaîne de caractères'; // On crée un objet String

alert(myString.length); // On affiche le nombre de caractères, au moyen de la propriété « length »

alert(myString.toUpperCase()); // On récupère la chaîne en majuscules, avec la méthode toUpperCase()</pre>
<p>On remarque la présence d&rsquo;un point. Ce dernier permet d&rsquo;accéder aux propriétés et aux méthodes d&rsquo;un objet. Ainsi, quand nous écrivons <code data-claire-semantic="javascript">myString.length</code>, nous demandons au JavaScript de fournir le nombre de caractères contenus dans <code data-claire-semantic="javascript">myString</code>.</p>
<p>Avec <code data-claire-semantic="javascript">myString.toUpperCase()</code>, je demande au JavaScript de changer la casse de la chaîne, ici, tout mettre en majuscules. À l&rsquo;inverse, la méthode <code data-claire-semantic="javascript">toLowerCase()</code>permet de tout mettre en minuscules.</p>
<p id="r-1923950" class="" data-claire-element-id="2046119">Nous en avons déjà rencontré trois :</p>
<ol id="r-1923957" class="hoveredCourseElement" data-claire-element-id="8083302">
<li id="r-1923952" data-claire-element-id="8083297">
<p id="r-1923951" data-claire-element-id="8083296"><code data-claire-semantic="javascript">Number</code>: l&rsquo;objet qui gère les nombres ;</p>
</li>
<li id="r-1923954" data-claire-element-id="8083299">
<p id="r-1923953" data-claire-element-id="8083298"><code data-claire-semantic="javascript">Boolean</code>: l&rsquo;objet qui gère les booléens ;</p>
</li>
<li id="r-1923956" data-claire-element-id="8083301">
<p id="r-1923955" data-claire-element-id="8083300"><code data-claire-semantic="javascript">String</code>: l&rsquo;objet qui gère les chaînes de caractères.</p>
</li>
</ol>
<p>&nbsp;</p>
<p id="r-1917851" class="foldable__button secondTitle js-foldable-button hoveredCourseElement" data-claire-element-id="8083311"><strong>Les tableaux</strong> (l&rsquo;objet<code data-claire-semantic="javascript">Array)</code></p>
<p id="r-1923961" class="hoveredCourseElement" data-claire-element-id="2046131">Un tableau, ou plutôt un <em>array</em> en anglais, est une variable qui contient plusieurs valeurs, appelées <strong>items</strong>. Chaque item est accessible au moyen d&rsquo;un <strong>indice</strong> (<em>index</em> en anglais) et dont la numérotation commence à partir de 0. Voici un schéma représentant un tableau, qui stocke cinq items :</p>
<div class="tableContainer">
<table id="r-1923989" data-claire-element-id="2046159">
<tbody id="r-1923988" data-claire-element-id="2046158">
<tr id="r-1923974" data-claire-element-id="2046144">
<td id="r-1923963" data-claire-element-id="2046133">
<p id="r-1923962" data-claire-element-id="2046132"><strong>Indice</strong></p>
</td>
<td id="r-1923965" data-claire-element-id="2046135">
<p id="r-1923964" data-claire-element-id="2046134">0</p>
</td>
<td id="r-1923967" data-claire-element-id="2046137">
<p id="r-1923966" data-claire-element-id="2046136">1</p>
</td>
<td id="r-1923969" data-claire-element-id="2046139">
<p id="r-1923968" data-claire-element-id="2046138">2</p>
</td>
<td id="r-1923971" data-claire-element-id="2046141">
<p id="r-1923970" data-claire-element-id="2046140">3</p>
</td>
<td id="r-1923973" data-claire-element-id="2046143">
<p id="r-1923972" data-claire-element-id="2046142">4</p>
</td>
</tr>
<tr id="r-1923987" data-claire-element-id="2046157">
<td id="r-1923976" data-claire-element-id="2046146">
<p id="r-1923975" data-claire-element-id="2046145"><strong>Donnée</strong></p>
</td>
<td id="r-1923978" data-claire-element-id="2046148">
<p id="r-1923977" data-claire-element-id="2046147">Valeur 1</p>
</td>
<td id="r-1923980" data-claire-element-id="2046150">
<p id="r-1923979" data-claire-element-id="2046149">Valeur 2</p>
</td>
<td id="r-1923982" data-claire-element-id="2046152">
<p id="r-1923981" data-claire-element-id="2046151">Valeur 3</p>
</td>
<td id="r-1923984" data-claire-element-id="2046154">
<p id="r-1923983" data-claire-element-id="2046153">Valeur 4</p>
</td>
<td id="r-1923986" data-claire-element-id="2046156">
<p id="r-1923985" data-claire-element-id="2046155">Valeur 5</p>
</td>
</tr>
</tbody>
</table>
<h4 id="r-1924029" class="hoveredCourseElement" data-claire-element-id="8083310">Déclarer un tableau</h4>
<pre style="padding-left: 30px;">var myArray = ['Sébastien', 'Laurence', 'Ludovic', 'Pauline', 'Guillaume'];</pre>
<p>L&rsquo;index numéro<code data-claire-semantic="text">0</code>contient « Sébastien », tandis que le<code data-claire-semantic="text">2</code>contient « Ludovic ».</p>
<p>aussi:</p>
<pre style="padding-left: 30px;">var myArray_a = [42, 12, 6, 3];
var myArray_b = [42, 'Sébastien', 12, 'Laurence'];</pre>
<h4 id="r-1924035" class="" data-claire-element-id="5607539">Récupérer et modifier des valeurs</h4>
<p id="r-1924030" class="hoveredCourseElement" data-claire-element-id="2046200">Pour récupérer la valeur de l&rsquo;index 1 de mon tableau ?Il suffit de spécifier l&rsquo;index voulu, entre crochets :</p>
<pre style="padding-left: 30px;">var myArray = ['Sébastien', 'Laurence', 'Ludovic', 'Pauline', 'Guillaume'];

myArray[1] = 'Clarisse';

alert(myArray[1]); // Affiche : « Clarisse »


</pre>
<p style="padding-left: 30px;">
</div>
<p data-claire-element-id="8083325">Notre exemple :</p>
<p data-claire-element-id="8083325"><img class="size-full wp-image-2020 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-08.55.35.png" alt="" width="1644" height="1180" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-08.55.35.png 1644w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-08.55.35-300x215.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-08.55.35-768x551.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-08.55.35-1024x735.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-08.55.35-850x610.png 850w" sizes="(max-width: 1644px) 100vw, 1644px" /></p>
<p data-claire-element-id="8083325"><img class="size-full wp-image-2022 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-09.22.07.png" alt="" width="1830" height="620" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-09.22.07.png 1830w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-09.22.07-300x102.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-09.22.07-768x260.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-09.22.07-1024x347.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-09.22.07-850x288.png 850w" sizes="(max-width: 1830px) 100vw, 1830px" /></p>
<p data-claire-element-id="8083325">Idem mais avec une fonction:</p>
<p data-claire-element-id="8083325"><img class="size-full wp-image-2024 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-09.50.59.png" alt="" width="1828" height="728" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-09.50.59.png 1828w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-09.50.59-300x119.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-09.50.59-768x306.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-09.50.59-1024x408.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-09.50.59-850x339.png 850w" sizes="(max-width: 1828px) 100vw, 1828px" /></p>
<p data-claire-element-id="8083325">Additionner le total d&rsquo;un tableau:</p>
<p data-claire-element-id="8083325"><img class="size-full wp-image-2026 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-11.18.40.png" alt="" width="1496" height="1070" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-11.18.40.png 1496w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-11.18.40-300x215.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-11.18.40-768x549.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-11.18.40-1024x732.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-11.18.40-850x608.png 850w" sizes="(max-width: 1496px) 100vw, 1496px" /></p>
<p data-claire-element-id="8083325">Calculer la moyen:</p>
<p data-claire-element-id="8083325"><img class="size-full wp-image-2028 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-11.47.33.png" alt="" width="1332" height="1080" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-11.47.33.png 1332w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-11.47.33-300x243.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-11.47.33-768x623.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-11.47.33-1024x830.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-13-à-11.47.33-850x689.png 850w" sizes="(max-width: 1332px) 100vw, 1332px" /></p>
<h3 data-claire-element-id="8083325"></h3>
<h3 id="r-1917872" class="foldable__button secondTitle js-foldable-button hoveredCourseElement" data-claire-element-id="8083325">Opérations sur les tableaux<i class="foldable__icon icon-next"></i></h3>
<div class="foldable__content">
<h4 id="r-1924043" class="" data-claire-element-id="8083316">Ajouter et supprimer des items</h4>
<p id="r-1924036" class="" data-claire-element-id="8083312">La méthode <code data-claire-semantic="javascript">push()</code>permet d&rsquo;ajouter un ou plusieurs items à un tableau :</p>
<pre style="padding-left: 30px;">var myArray = ['Sébastien', 'Laurence'];

myArray.push('Ludovic'); // Ajoute « Ludovic » à la fin du tableau
myArray.push('Pauline', 'Guillaume'); // Ajoute « Pauline » et « Guillaume » à la fin du tableau</pre>
<p><code data-claire-semantic="javascript">push()</code>peut recevoir un nombre illimité de paramètres, et chaque paramètre représente un item à ajouter à la fin du tableau.</p>
<p id="r-1924039" class="" data-claire-element-id="8083314">La méthode <code data-claire-semantic="javascript">unshift()</code>fonctionne comme <code data-claire-semantic="javascript">push()</code>, excepté que les items sont ajoutés au début du tableau. Cette méthode n&rsquo;est pas très fréquente mais peut être utile.</p>
<p id="r-1924040" class="" data-claire-element-id="8083315">Les méthodes <code data-claire-semantic="javascript">shift()</code>et <code data-claire-semantic="javascript">pop()</code>retirent respectivement le premier et le dernier élément du tableau:</p>
<pre style="padding-left: 30px;">var myArray = ['Sébastien', 'Laurence', 'Ludovic', 'Pauline', 'Guillaume'];

myArray.shift(); // Retire « Sébastien »
myArray.pop(); // Retire « Guillaume »

alert(myArray); // Affiche « Laurence,Ludovic,Pauline »</pre>
<h4 id="r-1924055" class="hoveredCourseElement" data-claire-element-id="8083324">Chaînes de caractères et tableaux</h4>
<pre style="padding-left: 30px;">var cousinsString = 'Pauline Guillaume Clarisse',
cousinsArray = cousinsString.split(' ');

alert(cousinsString);
alert(cousinsArray);

La méthode <code data-claire-semantic="javascript">split()</code>va couper la chaîne de caractères à chaque fois qu'elle va rencontrer une espace. Les portions ainsi découpées sont placées dans un tableau, ici <code data-claire-semantic="javascript">cousinsArray</code>.</pre>
<p>L&rsquo;inverse de <code data-claire-semantic="javascript">split()</code>, c&rsquo;est-à-dire créer une chaîne de caractères depuis un tableau, se nomme <code data-claire-semantic="javascript">join()</code>:</p>
<pre style="padding-left: 30px;">var cousinsString_2 = cousinsArray.join('-');

alert(cousinsString_2);

Parcourir un tableau</pre>
<h4 id="r-1924068" class="hoveredCourseElement" data-claire-element-id="8083329">Parcourir avec <code data-claire-semantic="text">for</code></h4>
<p>Le nombre d&rsquo;items d&rsquo;un tableau se récupère avec la propriété <code data-claire-semantic="javascript">length</code>, exactement comme pour le nombre de caractères d&rsquo;une chaîne de caractères. À chaque itération, on va avancer d&rsquo;un item dans le tableau, en utilisant la variable de boucle <code data-claire-semantic="javascript">i</code>: à chaque itération, elle s&rsquo;incrémente, ce qui permet d&rsquo;avancer dans le tableau item par item. Voici un exemple :</p>
<pre style="padding-left: 30px;">var myArray = ['Sébastien', 'Laurence', 'Ludovic', 'Pauline', 'Guillaume'];

for (var i = 0; i &lt; myArray.length; i++) {

alert(myArray[i]);

}</pre>
<p>On commence par définir la variable de boucle <code data-claire-semantic="javascript">i</code>. Ensuite, on règle la condition pour que la boucle s&rsquo;exécute tant que l&rsquo;on n&rsquo;a pas atteint le nombre d&rsquo;items. <code data-claire-semantic="javascript">myArray.length </code>représente le nombre d&rsquo;items du tableau, c&rsquo;est-à-dire cinq, à chaque itération, on incrémente.</p>
<h3 id="r-1917961" class="foldable__button secondTitle js-foldable-button" data-claire-element-id="8083355">Les objets littéraux<i class="foldable__icon icon-next"></i></h3>
<div class="foldable__content">
<p id="r-1924075" class="" data-claire-element-id="8083337">S&rsquo;il est possible d&rsquo;accéder aux items d&rsquo;un tableau <em>via</em> leur indice, il peut être pratique d&rsquo;y accéder au moyen d&rsquo;un identifiant.</p>
<p class="" data-claire-element-id="8083337">Par exemple</p>
<pre style="padding-left: 30px;" data-claire-element-id="8083337">var family = {
self: 'Sébastien',
sister: 'Laurence',
brother: 'Ludovic',
cousin_1: 'Pauline',
cousin_2: 'Guillaume'
};</pre>
<table id="r-1924106" data-claire-element-id="2046279">
<tbody id="r-1924105" data-claire-element-id="2046278">
<tr id="r-1924091" data-claire-element-id="2046264">
<td id="r-1924080" data-claire-element-id="2046253">
<p id="r-1924079" data-claire-element-id="2046252"><strong>Identifiant</strong></p>
</td>
<td id="r-1924082" data-claire-element-id="2046255">
<p id="r-1924081" data-claire-element-id="2046254">self</p>
</td>
<td id="r-1924084" data-claire-element-id="2046257">
<p id="r-1924083" data-claire-element-id="2046256">sister</p>
</td>
<td id="r-1924086" data-claire-element-id="2046259">
<p id="r-1924085" data-claire-element-id="2046258">brother</p>
</td>
<td id="r-1924088" data-claire-element-id="2046261">
<p id="r-1924087" data-claire-element-id="2046260">cousin_1</p>
</td>
<td id="r-1924090" data-claire-element-id="2046263">
<p id="r-1924089" data-claire-element-id="2046262">cousin_2</p>
</td>
</tr>
<tr id="r-1924104" data-claire-element-id="2046277">
<td id="r-1924093" data-claire-element-id="2046266">
<p id="r-1924092" data-claire-element-id="2046265"><strong>Donnée</strong></p>
</td>
<td id="r-1924095" data-claire-element-id="2046268">
<p id="r-1924094" data-claire-element-id="2046267">Sébastien</p>
</td>
<td id="r-1924097" data-claire-element-id="2046270">
<p id="r-1924096" data-claire-element-id="2046269">Laurence</p>
</td>
<td id="r-1924099" data-claire-element-id="2046272">
<p id="r-1924098" data-claire-element-id="2046271">Ludovic</p>
</td>
<td id="r-1924101" data-claire-element-id="2046274">
<p id="r-1924100" data-claire-element-id="2046273">Pauline</p>
</td>
<td id="r-1924103" data-claire-element-id="2046276">
<p id="r-1924102" data-claire-element-id="2046275">Guillaume</p>
</td>
</tr>
</tbody>
</table>
<h4 id="r-1924114" class="hoveredCourseElement" data-claire-element-id="5608253">La syntaxe d&rsquo;un objet</h4>
<p>Pour définir dès l&rsquo;initialisation les items à ajouter à l&rsquo;objet, il suffit d&rsquo;écrire :</p>
<pre style="padding-left: 30px;">var myObject = {
item1: 'Texte 1',
item2: 'Texte 2'
};</pre>
<h4 id="r-1924123" class="" data-claire-element-id="8083341">Accès aux items</h4>
<p id="r-1924115" class="hoveredCourseElement" data-claire-element-id="8083338">Revenons à notre objet littéral : ce que nous avons créé est un objet, et les identifiants sont en réalité des <em>propriétés</em>, exactement comme la propriété <code data-claire-semantic="javascript">length </code>d&rsquo;un tableau ou d&rsquo;une chaîne de caractères. Donc, pour récupérer le nom de la sœur, il suffit de faire :</p>
<pre style="padding-left: 30px;" data-claire-element-id="8083338">family.sister;</pre>
<p style="padding-left: 30px;" data-claire-element-id="8083338">ou</p>
<pre style="padding-left: 30px;" data-claire-element-id="8083338">family['sister'];</pre>
<p id="r-1924119" class="hoveredCourseElement" data-claire-element-id="2046292">Exemple :</p>
<pre style="padding-left: 30px;">var id = 'sister';

alert(family[id]); // Affiche : « Laurence »</pre>
<h4 id="r-1924128" class="hoveredCourseElement" data-claire-element-id="8083343">Ajouter des items</h4>
<p>il est possible d&rsquo;ajouter un item en spécifiant un identifiant qui n&rsquo;est pas encore présent. Par exemple, si nous voulons ajouter un oncle dans le tableau :</p>
<pre style="padding-left: 30px;">family['uncle'] = 'Didier'; // « Didier » est ajouté et est accessible via l'identifiant « uncle »

ou

family.uncle = 'Didier'; // Même opération mais d'une autre manière

Parcourir un objet avec<code data-claire-semantic="text">for in</code></pre>
<p id="r-1924129" class="" data-claire-element-id="8083344">Il n&rsquo;est pas possible de parcourir un objet littéral avec une boucle<code data-claire-semantic="javascript">for</code>. Normal, puisqu&rsquo;une boucle<code data-claire-semantic="javascript">for</code>est surtout capable d&rsquo;incrémenter une variable numérique, ce qui ne nous est d&rsquo;aucune utilité dans le cas d&rsquo;un objet littéral puisque nous devons posséder un identifiant. En revanche, la boucle <code data-claire-semantic="javascript">for in </code>se révèle très intéressante !</p>
<p id="r-1924130" class="" data-claire-element-id="8083345">La boucle <code data-claire-semantic="javascript">for in </code>est l&rsquo;équivalent de la boucle <code data-claire-semantic="php">foreach </code>du PHP : elle est très simple et ne sert qu&rsquo;à une seule chose : parcourir un objet.</p>
<p id="r-1924131" class="hoveredCourseElement" data-claire-element-id="2046304">Le fonctionnement est quasiment le même que pour un tableau, excepté qu&rsquo;ici il suffit de fournir une « variable clé » qui reçoit un identifiant (au lieu d&rsquo;un index) et de spécifier l&rsquo;objet à parcourir :</p>
<pre>var family = {
    self:     'Sébastien',
    sister:   'Laurence',
    brother:  'Ludovic',
    cousin_1: 'Pauline',
    cousin_2: 'Guillaume'
};

for (var id in family) { // On stocke l'identifiant dans "id" pour parcourir l'objet "family".
	
    alert(family[id]);
		
}

</pre>
<h4 id="r-1924137" class="" data-claire-element-id="8083350">Parcourir un objet avec <code data-claire-semantic="text">for in</code></h4>
<p id="r-1924129" class="" data-claire-element-id="8083344">Il n&rsquo;est pas possible de parcourir un objet littéral avec une boucle <code data-claire-semantic="javascript">for</code>. Normal, puisqu&rsquo;une boucle <code data-claire-semantic="javascript">for </code>est surtout capable d&rsquo;incrémenter une variable numérique, ce qui ne nous est d&rsquo;aucune utilité dans le cas d&rsquo;un objet littéral puisque nous devons posséder un identifiant. En revanche, la boucle <code data-claire-semantic="javascript">for in </code>se révèle très intéressante !</p>
<p id="r-1924130" class="" data-claire-element-id="8083345">La boucle <code data-claire-semantic="javascript">for in </code>est l&rsquo;équivalent de la boucle <code data-claire-semantic="php">foreach </code>du PHP : elle est très simple et ne sert qu&rsquo;à une seule chose : parcourir un objet.</p>
<p id="r-1924131" class="hoveredCourseElement" data-claire-element-id="2046304">Le fonctionnement est quasiment le même que pour un tableau, excepté qu&rsquo;ici il suffit de fournir une « variable clé » qui reçoit un identifiant (au lieu d&rsquo;un index) et de spécifier l&rsquo;objet à parcourir :</p>
<pre>var family = {
    self:     'Sébastien',
    sister:   'Laurence',
    brother:  'Ludovic',
    cousin_1: 'Pauline',
    cousin_2: 'Guillaume'
};

for (var id in family) { // On stocke l'identifiant dans "id" pour parcourir l'objet "family".
	
    alert(family[id]);
		
}</pre>
<h4 id="r-1924142" class="" data-claire-element-id="8083354">Utilisation des objets littéraux</h4>
<p id="r-1924138" class="" data-claire-element-id="8083351">Les objets littéraux ne sont pas souvent utilisés mais peuvent se révéler très utiles pour ordonner un code. On les utilise aussi dans les fonctions : les fonctions, avec <code data-claire-semantic="javascript">return</code>, ne savent retourner qu&rsquo;une seule variable. Si on veut retourner plusieurs variables, il faut les placer dans un tableau et retourner ce dernier. Mais il est plus commode d&rsquo;utiliser un objet littéral.</p>
<p id="r-1924139" class="hoveredCourseElement" data-claire-element-id="8083352">L&rsquo;exemple classique est la fonction qui calcule des coordonnées d&rsquo;un élément HTML sur une page Web. Il faut ici retourner les coordonnées <code data-claire-semantic="javascript">x </code>et <code data-claire-semantic="javascript">y</code>.</p>
<pre style="padding-left: 30px;">function getCoords() {
/* Script incomplet, juste pour l'exemple */</pre>
<p style="padding-left: 30px;">return {<br />
x: 12,<br />
y: 21<br />
};<br />
}</p>
<p style="padding-left: 30px;">var coords = getCoords();</p>
<p style="padding-left: 30px;">alert(coords.x); // 12<br />
alert(coords.y); // 21</p>
<p>Exercices:</p>
<p><img class="size-full wp-image-1983 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-15.52.53.png" alt="" width="1748" height="1034" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-15.52.53.png 1748w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-15.52.53-300x177.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-15.52.53-768x454.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-15.52.53-1024x606.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-15.52.53-850x503.png 850w" sizes="(max-width: 1748px) 100vw, 1748px" /></p>
<p><img class="size-full wp-image-1987 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-15.55.37-1.png" alt="" width="1750" height="1038" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-15.55.37-1.png 1750w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-15.55.37-1-300x178.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-15.55.37-1-768x456.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-15.55.37-1-1024x607.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-15.55.37-1-850x504.png 850w" sizes="(max-width: 1750px) 100vw, 1750px" /></p>
</div>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Les fonctions</title>
		<link>https://wp.gwd-france.com/2018/12/07/les-fonctions/</link>
		
		<dc:creator><![CDATA[yannick]]></dc:creator>
		<pubDate>Fri, 07 Dec 2018 07:05:49 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://wp.gwd-france.com/?p=1909</guid>

					<description><![CDATA[Concevoir des fonctions Dans les chapitres précédents vous avez découvert quatre fonctions :alert(),prompt(),confirm()et parseInt(). Vous avez pu constater que chacune de ces fonctions avait pour but de mener à bien une action précise, reconnaissable par un nom explicite. Voici comment écrire une fonction : function myFunction(arguments) { // Le code que la fonction va devoir exécuter...]]></description>
										<content:encoded><![CDATA[<h3 id="r-1917536" class="foldable__button secondTitle js-foldable-button" data-claire-element-id="8414985">Concevoir des fonctions<i class="foldable__icon icon-next"></i></h3>
<div class="foldable__content">
<p id="r-1923692" class="" data-claire-element-id="8414971">Dans les chapitres précédents vous avez découvert quatre fonctions :<code data-claire-semantic="javascript">alert()</code>,<code data-claire-semantic="javascript">prompt()</code>,<code data-claire-semantic="javascript">confirm()</code>et <code data-claire-semantic="javascript">parseInt()</code>. Vous avez pu constater que chacune de ces fonctions avait pour but de mener à bien une action précise, reconnaissable par un nom explicite.</p>
<p data-claire-element-id="8414971">Voici comment écrire une fonction :</p>
<p style="padding-left: 60px;" data-claire-element-id="8414971">function myFunction(arguments) { // Le code que la fonction va devoir exécuter }</p>
<ul id="r-1923708" class="" data-claire-element-id="8414980">
<li id="r-1923701" data-claire-element-id="8414975">
<p id="r-1923700" data-claire-element-id="8414974">Le mot-clé <code data-claire-semantic="javascript">function </code>est présent à chaque déclaration de fonction. C&rsquo;est lui qui permet de dire « Voilà, j&rsquo;écris ici une fonction ! » ;</p>
</li>
<li id="r-1923703" data-claire-element-id="8414977">
<p id="r-1923702" data-claire-element-id="8414976">Vient ensuite le nom de votre fonction, ici <code data-claire-semantic="text">myFunction</code>;</p>
</li>
<li id="r-1923705" data-claire-element-id="8414979">
<p id="r-1923704" data-claire-element-id="8414978">S&rsquo;ensuit un couple de parenthèses contenant ce que l&rsquo;on appelle des <strong>arguments</strong>. Ces arguments servent à fournir des informations à la fonction lors de son exécution. Par exemple, avec la fonction <code data-claire-semantic="javascript">alert()</code>quand vous lui passez en paramètre ce que vous voulez afficher à l&rsquo;écran ;</p>
</li>
<li id="r-1923707" data-claire-element-id="2045871">
<p id="r-1923706" data-claire-element-id="2045870">Et vient enfin un couple d&rsquo;accolades contenant le code que votre fonction devra exécuter.</p>
</li>
</ul>
<p id="r-1923709" class="" data-claire-element-id="2045873">Il est important de préciser que tout code écrit dans une fonction ne s&rsquo;exécutera que si vous <em>appelez</em> cette dernière (« appeler une fonction » signifie « exécuter »). Sans ça, le code qu&rsquo;elle contient ne s&rsquo;exécutera jamais.</p>
<aside id="r-1923711" class="" data-claire-element-id="2045875" data-claire-semantic="information">
<p id="r-1923710" data-claire-element-id="2045874">Bien entendu, tout comme les variables, les noms de fonctions sont limités aux caractères alphanumériques (dont les chiffres) et aux deux caractères suivants : <strong>_</strong> et <strong>$</strong>.</p>
</aside>
<h4 id="r-1923726" class="hoveredCourseElement" data-claire-element-id="8414984">Un exemple concret</h4>
<p style="padding-left: 30px;">function calculate() {</p>
<p style="padding-left: 30px;">var var1 = 2, var2 = 3; alert(var1 * var2);</p>
<p style="padding-left: 30px;">}</p>
<p style="padding-left: 30px;">calculate(); var result;</p>
<p>Un autre:</p>
<p style="padding-left: 30px;">result = parseInt(prompt(&lsquo;Donnez le nombre à multiplier par 2 :&rsquo;));</p>
<p style="padding-left: 30px;">alert(result * 2);</p>
<p style="padding-left: 30px;">result = parseInt(prompt(&lsquo;Donnez le nombre à multiplier par 2 :&rsquo;));</p>
<p style="padding-left: 30px;">alert(result * 2);</p>
<p>Notre solution, ici, est donc de faire appel au système des fonctions de cette façon  pour ne pas écrire deux fois la même chose:</p>
<p style="padding-left: 30px;">function byTwo() {</p>
<p style="padding-left: 30px;">var result = parseInt(prompt(&lsquo;Donnez le nombre à multiplier par 2 :&rsquo;));</p>
<p style="padding-left: 30px;">alert(result * 2);</p>
<p style="padding-left: 30px;">}</p>
<p style="padding-left: 30px;">byTwo(); alert(&lsquo;Vous en êtes à la moitié !&rsquo;); byTwo();</p>
<p>Nous avons créé une fonction qui contient le code à exécuter deux fois (ou autant de fois qu&rsquo;on le souhaite). Ensuite, nous faisons la déclaration de notre variable <code data-claire-semantic="javascript">result </code>directement dans notre fonction et surtout nous appelons deux fois notre fonction plutôt que de réécrire le code qu&rsquo;elle contient.</p>
<p>Exemple simple:</p>
<p><img class="size-full wp-image-1940 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-10.09.28.png" alt="" width="626" height="536" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-10.09.28.png 626w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-10.09.28-300x257.png 300w" sizes="(max-width: 626px) 100vw, 626px" /></p>
<h4 data-claire-element-id="8415029"></h4>
<h4 id="r-1923834" class="" data-claire-element-id="8415029">Les valeurs de retour</h4>
<aside id="r-1923825" class="" data-claire-element-id="2045991" data-claire-semantic="information">
<p id="r-1923824" data-claire-element-id="2045990">Voici une variante de notre programme d&rsquo;exemple.</p>
<p data-claire-element-id="2045990"><img class="size-full wp-image-1943 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-10.26.05.png" alt="" width="684" height="530" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-10.26.05.png 684w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-10.26.05-300x232.png 300w" sizes="(max-width: 684px) 100vw, 684px" /></p>
<p data-claire-element-id="2045990">Plus simplement:</p>
<p style="padding-left: 30px;">function direBonjour() {<br />
return « Bonjour ! »;<br />
}</p>
<p style="padding-left: 30px;">console.log(direBonjour()); // « Bonjour ! »</p>
<p data-claire-element-id="2045990">L&rsquo;utilisation du mot-clé <code data-claire-semantic="javascript">return</code> dans une fonction permet de lui donner une <strong>valeur de retour</strong>. Son appel produit un résultat qui correspond à la valeur placée juste après le <code data-claire-semantic="javascript">return</code> dans la fonction. Ce résultat peut être récupéré par le programme appelant. Ici, la fonction <code data-claire-semantic="text">direBonjour()</code> renvoie la valeur chaîne<code data-claire-semantic="javascript">"Bonjour !"</code>. Cette valeur est stockée par le programme dans la variable <code data-claire-semantic="javascript">resultat</code>, qui est ensuite affichée.</p>
<h4 id="r-3753007" class="hoveredCourseElement" data-claire-element-id="28053317">Variables locales</h4>
<p style="padding-left: 30px;">function direBonjour() {<br />
const message = « Bonjour ! »;<br />
return message;<br />
}</p>
<p style="padding-left: 30px;">console.log(direBonjour()); // « Bonjour ! »</p>
<p>La fonction <code data-claire-semantic="javascript">direBonjour()</code> déclare une variable nommée <code data-claire-semantic="javascript">message</code>, puis renvoie sa valeur.</p>
<p>Les variables déclarées dans le corps d&rsquo;une fonction sont appelées des <strong>variables locales</strong>. En effet, elles ne sont utilisables qu&rsquo;à l&rsquo;intérieur de la fonction.</p>
</aside>
<p>&nbsp;</p>
</div>
<h4 id="r-1923822" class="" data-claire-element-id="8415023">Les arguments</h4>
<h5 id="r-1923781" class="" data-claire-element-id="8415007">Créer et utiliser un argument</h5>
<p id="r-1923758" class="hoveredCourseElement" data-claire-element-id="8414995">Comme nous venons de le dire, les arguments sont des informations envoyées à une fonction. Ces informations peuvent servir à beaucoup de choses.</p>
<p style="padding-left: 30px;">function myFunction(arg) { // Notre argument est la variable « arg » // Une fois que l&rsquo;argument a été passé à la fonction, vous allez le retrouver dans la variable « arg »</p>
<p style="padding-left: 30px;">alert(&lsquo;Votre argument : &lsquo; + arg);</p>
<p style="padding-left: 30px;">}</p>
<p style="padding-left: 30px;">myFunction(&lsquo;En voilà un beau test !&rsquo;);</p>
<p>Ex:</p>
<p style="padding-left: 30px;">function myFunction(arg) {</p>
<p style="padding-left: 30px;">alert(&lsquo;Votre argument : &lsquo; + arg);</p>
<p style="padding-left: 30px;">}</p>
<p style="padding-left: 30px;">myFunction(prompt(&lsquo;Que souhaitez-vous passer en argument à la fonction ?&rsquo;));</p>
<p>Dans cet exemple quand on remplit le champs par, par exemple: il fait beau! et que l&rsquo;on valide, la fonction nous renvoie <strong>Votre argument : il fait beau!</strong></p>
<div class="foldable__content" style="padding-left: 30px;">
<ul id="r-1923778" class="hoveredCourseElement" data-claire-element-id="8415006">
<li id="r-1923771" data-claire-element-id="8414999">
<p id="r-1923770" data-claire-element-id="8414998">La fonction <code data-claire-semantic="javascript">myFunction()</code>est déclarée, son code est donc enregistré en mémoire mais ne s&rsquo;exécute pas tant qu&rsquo;on ne l&rsquo;appelle pas ;</p>
</li>
<li id="r-1923773" data-claire-element-id="8415001">
<p id="r-1923772" data-claire-element-id="8415000">À la dernière ligne, nous faisons appel à <code data-claire-semantic="javascript">myFunction()</code>mais en lui passant un argument, la fonction va donc attendre de recevoir tous les arguments avant de s&rsquo;exécuter ;</p>
</li>
<li id="r-1923775" data-claire-element-id="8415003">
<p id="r-1923774" data-claire-element-id="8415002">La fonction <code data-claire-semantic="javascript">prompt()</code>s&rsquo;exécute puis renvoie la valeur entrée par l&rsquo;utilisateur, ce n&rsquo;est qu&rsquo;une fois cette valeur renvoyée que la fonction <code data-claire-semantic="javascript">myFunction()</code>va pouvoir s&rsquo;exécuter car tous les arguments auront enfin été reçus ;</p>
</li>
<li id="r-1923777" data-claire-element-id="8415005">
<p id="r-1923776" data-claire-element-id="8415004">Enfin, <code data-claire-semantic="javascript">myFunction()</code>s&rsquo;exécute !</p>
</li>
</ul>
<aside id="r-1923780" class="" data-claire-element-id="2045946" data-claire-semantic="information">
<p id="r-1923779" data-claire-element-id="2045945">Vous l&rsquo;aurez peut-être constaté mais il nous arrive de dire que nous passons des valeurs en paramètres d&rsquo;une fonction. Cela veut dire que ces valeurs deviennent les arguments d&rsquo;une fonction, tout simplement. Ces deux manières de désigner les choses sont couramment utilisées, mieux vaut donc savoir ce qu&rsquo;elles signifient.</p>
<p data-claire-element-id="2045945"><img class="size-full wp-image-1991 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-11.04.15.png" alt="" width="1370" height="798" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-11.04.15.png 1370w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-11.04.15-300x175.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-11.04.15-768x447.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-11.04.15-1024x596.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-11.04.15-850x495.png 850w" sizes="(max-width: 1370px) 100vw, 1370px" /></p>
<p data-claire-element-id="2045945"><img class="alignnone size-full wp-image-1993" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-12.13.10.png" alt="" width="1398" height="716" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-12.13.10.png 1398w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-12.13.10-300x154.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-12.13.10-768x393.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-12.13.10-1024x524.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-12.13.10-850x435.png 850w" sizes="(max-width: 1398px) 100vw, 1398px" /></p>
<h3 id="r-1923796" data-claire-element-id="8415009">Les arguments multiples</h3>
<p id="r-1923786" class="hoveredCourseElement" data-claire-element-id="2045952">De la façon suivante :</p>
<p style="padding-left: 30px;" data-claire-element-id="2045952">function moar(first, second) {</p>
<p style="padding-left: 30px;" data-claire-element-id="2045952">// On peut maintenant utiliser les variables « first » et « second » comme on le souhaite :</p>
<p style="padding-left: 30px;" data-claire-element-id="2045952">alert(&lsquo;Votre premier argument : &lsquo; + first);</p>
<p style="padding-left: 30px;" data-claire-element-id="2045952">alert(&lsquo;Votre deuxième argument : &lsquo; + second);</p>
<p style="padding-left: 30px;" data-claire-element-id="2045952">}</p>
<p data-claire-element-id="2045952">aussi:</p>
<p style="padding-left: 30px;">function moar(first, second) {</p>
<p style="padding-left: 30px;">// On peut maintenant utiliser les variables « first » et « second » comme on le souhaite :</p>
<p style="padding-left: 30px;">alert(&lsquo;Votre premier argument : &lsquo; + first);</p>
<p style="padding-left: 30px;">alert(&lsquo;Votre deuxième argument : &lsquo; + second);</p>
<p style="padding-left: 30px;">}</p>
<p style="padding-left: 30px;">moar(prompt(&lsquo;Entrez votre premier argument :&rsquo;), prompt(&lsquo;Entrez votre deuxième argument :&rsquo;));</p>
<p id="r-3753018" class="hoveredCourseElement" data-claire-element-id="28053345">Lors d&rsquo;un appel à une fonction acceptant des paramètres, le nombre et l&rsquo;ordre des paramètres doivent être respectés. Observez l&rsquo;exemple suivant.</p>
<div class="foldable__content">
<p><img class="size-full wp-image-1996 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-14.02.07.png" alt="" width="1534" height="966" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-14.02.07.png 1534w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-14.02.07-300x189.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-14.02.07-768x484.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-14.02.07-1024x645.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-14.02.07-850x535.png 850w" sizes="(max-width: 1534px) 100vw, 1534px" /></p>
<p><img class="size-full wp-image-1998 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-14.42.45.png" alt="" width="2396" height="1076" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-14.42.45.png 2396w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-14.42.45-300x135.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-14.42.45-768x345.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-14.42.45-1024x460.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-14.42.45-850x382.png 850w" sizes="(max-width: 2396px) 100vw, 2396px" /></p>
<p><img class="size-full wp-image-2000 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-15.35.50.png" alt="" width="1512" height="1078" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-15.35.50.png 1512w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-15.35.50-300x214.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-15.35.50-768x548.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-15.35.50-1024x730.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-15.35.50-850x606.png 850w" sizes="(max-width: 1512px) 100vw, 1512px" /></p>
<p><img class="size-full wp-image-2004 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-16.35.29.png" alt="" width="2170" height="1126" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-16.35.29.png 2170w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-16.35.29-300x156.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-16.35.29-768x399.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-16.35.29-1024x531.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-11-à-16.35.29-850x441.png 850w" sizes="(max-width: 2170px) 100vw, 2170px" /></p>
<p>Tant que la réponse est non, la question est reposé. Quand la réponse est oui un message de félicitation est affiché plus le nombre de fois essayés.</p>
<p><img class="size-full wp-image-2008 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-09.37.27.png" alt="" width="1910" height="1254" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-09.37.27.png 1910w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-09.37.27-300x197.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-09.37.27-768x504.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-09.37.27-1024x672.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-09.37.27-350x230.png 350w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-09.37.27-850x558.png 850w" sizes="(max-width: 1910px) 100vw, 1910px" /></p>
<p>On rajoute l&rsquo;affichage des réponses.</p>
<p><img class="size-full wp-image-2010 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-10.55.54.png" alt="" width="1898" height="1382" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-10.55.54.png 1898w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-10.55.54-300x218.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-10.55.54-768x559.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-10.55.54-1024x746.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-10.55.54-850x619.png 850w" sizes="(max-width: 1898px) 100vw, 1898px" /></p>
<p>Amélioration:</p>
<p><img class="size-full wp-image-2014 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-11.26.27.png" alt="" width="1902" height="1376" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-11.26.27.png 1902w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-11.26.27-300x217.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-11.26.27-768x556.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-11.26.27-1024x741.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-11.26.27-850x615.png 850w" sizes="(max-width: 1902px) 100vw, 1902px" /></p>
<p>Autre exemple: Quelle que soit la question.</p>
<p><img class="alignnone size-full wp-image-2016" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-13.46.20.png" alt="" width="1896" height="1392" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-13.46.20.png 1896w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-13.46.20-300x220.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-13.46.20-768x564.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-13.46.20-1024x752.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-12-à-13.46.20-850x624.png 850w" sizes="(max-width: 1896px) 100vw, 1896px" /></p>
<p><img class="size-full wp-image-1953 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-11.14.27.png" alt="" width="954" height="1630" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-11.14.27.png 954w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-11.14.27-176x300.png 176w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-11.14.27-768x1312.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-11.14.27-599x1024.png 599w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-11.14.27-300x513.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-10-à-11.14.27-850x1452.png 850w" sizes="(max-width: 954px) 100vw, 954px" /></p>
</div>
<h4 id="r-1923822" class="" data-claire-element-id="8415023"></h4>
<h3 id="r-1923821" class="hoveredCourseElement" data-claire-element-id="8415022">Les arguments facultatifs</h3>
<p style="padding-left: 30px;">function prompt2(text, allowCancel) {<br />
// Le code… que l&rsquo;on ne créera pas :p<br />
}</p>
<p id="r-1923805" class="" data-claire-element-id="8415012">L&rsquo;argument <code data-claire-semantic="javascript">text </code>est évidemment obligatoire vu qu&rsquo;il existe une multitude de possibilités. En revanche, l&rsquo;argument <code data-claire-semantic="javascript">allowCancel </code>est un booléen, il n&rsquo;y a donc que deux possibilités :</p>
<ul id="r-1923810" class="" data-claire-element-id="8415017">
<li id="r-1923807" data-claire-element-id="8415014">
<p id="r-1923806" data-claire-element-id="8415013">À <code data-claire-semantic="javascript">true</code>, l&rsquo;utilisateur peut fermer la fenêtre sans entrer de texte ;</p>
</li>
<li id="r-1923809" data-claire-element-id="8415016">
<p id="r-1923808" data-claire-element-id="8415015">À <code data-claire-semantic="javascript">false</code>, l&rsquo;utilisateur est obligé d&rsquo;écrire quelque chose avant de pouvoir fermer la fenêtre.</p>
</li>
</ul>
<p id="r-1923811" class="" data-claire-element-id="8415018">Comme la plupart des développeurs souhaitent généralement que l&rsquo;utilisateur entre une valeur, on peut considérer que la valeur la plus utilisée sera <code data-claire-semantic="javascript">false</code>.</p>
<p id="r-1923812" class="hoveredCourseElement" data-claire-element-id="8415019">Et c&rsquo;est là que l&rsquo;argument facultatif entre en scène ! Un argument facultatif est évidemment facultatif (eh oui ! <img class="smilies js-smiley" src="https://openclassrooms.com/bundles/common/images/smiley/heureux.png" alt=":D" /> ) mais doit généralement posséder une valeur par défaut dans le cas où l&rsquo;argument n&rsquo;a pas été rempli, dans notre cas ce sera <code data-claire-semantic="javascript">false</code>. Ainsi, on peut donc améliorer notre fonction de la façon suivante :</p>
<p class="hoveredCourseElement" style="padding-left: 30px;" data-claire-element-id="8415019">function prompt2(text, allowCancel) {</p>
<p style="padding-left: 30px;">if (typeof allowCancel === &lsquo;undefined&rsquo;) { // Souvenez-vous de typeof, pour vérifier le type d&rsquo;une variable<br />
allowCancel = false;<br />
}</p>
<p style="padding-left: 30px;">// Le code… que l&rsquo;on ne créera pas =p<br />
}</p>
<p style="padding-left: 30px;">prompt2(&lsquo;Entrez quelque chose :&rsquo;); // On exécute la fonction seulement avec le premier argument, pas besoin du deuxième</p>
<p>De cette façon, si l&rsquo;argument n&rsquo;a pas été spécifié pour la variable <code data-claire-semantic="javascript">allowCancel</code>(comme dans cet exemple) on attribue alors la valeur <code data-claire-semantic="javascript">false </code>à cette dernière.</p>
<h5 id="r-5819913" class="foldable__button secondTitle js-foldable-button hoveredCourseElement" data-claire-element-id="28053776">Fonctions anonymes</h5>
<p>assigner notre fonction à une variable.</p>
<p style="padding-left: 30px;">const bonjour = function(prenom) {<br />
const message = `Bonjour, ${prenom} !`;<br />
return message;<br />
}</p>
<p style="padding-left: 30px;">console.log(bonjour(« Thomas »)); // « Bonjour, Thomas ! »</p>
<p>&nbsp;</p>
<p>La syntaxe pour créer une fonction anonyme et l&rsquo;affecter à une variable est la suivante.</p>
<p style="text-align: left; padding-left: 30px;">// Affectation d&rsquo;une fonction anonyme à la variable maVariable<br />
const maVariable = function(param1, param2, &#8230;) {<br />
// Instructions pouvant utiliser param1, param2, &#8230;<br />
}</p>
<p style="text-align: left; padding-left: 30px;">// Appel de la fonction anonyme<br />
// param1 reçoit la valeur de arg1, param2 la valeur de arg2, &#8230;<br />
maVariable(arg1, arg2, &#8230;);</p>
</aside>
<aside id="r-1923825" class="" style="padding-left: 30px;" data-claire-element-id="2045991" data-claire-semantic="information">
<h4 id="r-1923914" class="hoveredCourseElement" data-claire-element-id="8415043">Les fonctions anonymes : isoler son code</h4>
<p style="padding-left: 30px;">// Code externe</p>
<p style="padding-left: 30px;">(function() {</p>
<p style="padding-left: 30px;">// Code isolé</p>
<p style="padding-left: 30px;">})();</p>
<p style="padding-left: 30px;">// Code externe</p>
</aside>
<p>Le premier couple de parenthèses permet de dire « je désigne cette fonction » pour que l&rsquo;on puisse ensuite indiquer, avec le deuxième couple de parenthèses, que l&rsquo;on souhaite l&rsquo;exécuter.</p>
<p>Une fois les parenthèses ajoutées, la fonction (qui est une structure) est exécutée, ce qui fait que l&rsquo;on obtient une instruction, il faut donc ajouter un point-virgule.</p>
<p style="padding-left: 60px;">(function() {<br />
// Code isolé<br />
})();</p>
<p>L&rsquo;intérêt de cet « isolement de code » concerne la portée des variables : vous pouvez créer autant de variables que vous le souhaitez dans cette fonction avec les noms que vous souhaitez, tout sera détruit une fois que votre fonction aura fini de s&rsquo;exécuter. Exemple (lisez bien les commentaires) :</p>
<p style="padding-left: 60px;">var test = &lsquo;noir&rsquo;; // On crée une variable « test » contenant le mot « noir »</p>
<p style="padding-left: 60px;">(function() { // Début de la zone isolée</p>
<p style="padding-left: 60px;">var test = &lsquo;blanc&rsquo;; // On crée une variable du même nom avec le contenu « blanc » dans la zone isolée</p>
<p>alert(&lsquo;Dans la zone isolée, la couleur est : &lsquo; + test);</p>
<p style="padding-left: 60px;">})(); // Fin de la zone isolée. Les variables créées dans cette zone sont détruites.</p>
<p style="padding-left: 60px;">alert(&lsquo;Dans la zone non-isolée, la couleur est : &lsquo; + test); // Le texte final contient bien le mot « noir » vu que la « zone isolée » n&rsquo;a aucune influence sur le reste du code</p>
<p style="padding-left: 30px;"> Parfois on aimerait bien enregistrer dans le code global une des valeurs générées dans une zone isolée. Pour cela il vous suffit de procéder de la même façon qu&rsquo;avec une fonction classique, c&rsquo;est-à-dire comme ceci :</p>
<p style="padding-left: 60px;">var sayHello = (function() {</p>
<p style="padding-left: 60px;">return &lsquo;Yop !&rsquo;;</p>
<p style="padding-left: 60px;">})();</p>
<p style="padding-left: 60px;">alert(sayHello); // Affiche : « Yop ! »</p>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Les boucles</title>
		<link>https://wp.gwd-france.com/2018/12/04/les-boucles/</link>
		
		<dc:creator><![CDATA[yannick]]></dc:creator>
		<pubDate>Tue, 04 Dec 2018 14:42:55 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://wp.gwd-france.com/?p=1872</guid>

					<description><![CDATA[Les boucles while La boucle while permet de répéter une liste d&#8217;instructions tant que la condition est vérifiée. Tant que celle-ci est vraie (true), la boucle se répète. Dès que la condition est fausse (false), la boucle s&#8217;arrête. Il faut s&#8217;arranger, à un moment, pour que la condition ne soit plus vraie. Voici un exemple de la...]]></description>
										<content:encoded><![CDATA[<h3 data-claire-element-id="2045763">Les boucles while</h3>
<p>La boucle <code data-claire-semantic="javascript">while </code>permet de répéter une liste d&rsquo;instructions tant que la condition est vérifiée.</p>
<p id="r-1923603" class="" data-claire-element-id="2045763">Tant que celle-ci est vraie (<code data-claire-semantic="javascript">true</code>), la boucle se répète. Dès que la condition est fausse (<code data-claire-semantic="javascript">false</code>), la boucle s&rsquo;arrête. Il faut s&rsquo;arranger, à un moment, pour que la condition ne soit plus vraie.</p>
<p id="r-1923604" class="hoveredCourseElement" data-claire-element-id="8414901">Voici un exemple de la syntaxe d&rsquo;une boucle <code data-claire-semantic="javascript">while</code>:</p>
<p style="padding-left: 30px;" data-claire-element-id="8414901">while (condition) {<br />
instruction_1;<br />
instruction_2;<br />
instruction_3;<br />
}</p>
<p data-claire-element-id="8414901">Ex:</p>
<p style="padding-left: 30px;">var number = 1;</p>
<p style="padding-left: 30px;">while (number &lt; 10) {<br />
number++;<br />
}</p>
<p style="padding-left: 30px;">alert(number); // Affiche : « 10 »</p>
<p>&nbsp;</p>
<p>Exemple:</p>
<p>Nous allons utiliser une boucle <code data-claire-semantic="javascript">while</code>, qui va demander, à chaque passage dans la boucle, un prénom supplémentaire. La boucle ne s&rsquo;arrêtera que lorsque l&rsquo;utilisateur choisira de ne plus entrer de prénom.</p>
<p style="padding-left: 30px;">var nicks = &lsquo; &lsquo;,<br />
nick,<br />
proceed = true;</p>
<p style="padding-left: 30px;">while (proceed) {<br />
nick = prompt(&lsquo;Entrez un prénom :&rsquo;);</p>
<p style="padding-left: 30px;">if (nick) {<br />
nicks += nick + &lsquo; &lsquo;; // Ajoute le nouveau prénom ainsi qu&rsquo;une espace juste après<br />
} else {<br />
proceed = false; // Aucun prénom n&rsquo;a été entré, donc on fait en sorte d&rsquo;invalider la condition<br />
}<br />
}</p>
<p style="padding-left: 30px;">alert(nicks); // Affiche les prénoms à la suite</p>
<p id="r-1923625" class="" data-claire-element-id="8414916"><strong>La boucle <code data-claire-semantic="javascript">do while </code></strong></p>
<p class="" data-claire-element-id="8414916">Ressemble très fortement à la boucle <code data-claire-semantic="javascript">while</code>, sauf que dans ce cas la boucle est toujours exécutée au moins une fois. Dans le cas d&rsquo;une boucle <code data-claire-semantic="javascript">while</code>, si la condition n&rsquo;est pas valide, la boucle n&rsquo;est pas exécutée. Avec <code data-claire-semantic="javascript">do while</code>, la boucle est exécutée une première fois, puis la condition est testée pour savoir si la boucle doit continuer.</p>
<p id="r-1923626" class="hoveredCourseElement" data-claire-element-id="8414917">Voici la syntaxe d&rsquo;une boucle <code data-claire-semantic="javascript">do while</code>:</p>
<p style="padding-left: 30px;" data-claire-element-id="8414917">do {<br />
instruction_1;<br />
instruction_2;<br />
instruction_3;<br />
} while (condition);</p>
<h3 id="r-1917497" class="foldable__button secondTitle js-foldable-button hoveredCourseElement" data-claire-element-id="8414959">La boucle for</h3>
<p>La boucle <code data-claire-semantic="javascript">for </code>est une boucle utilisée pour répéter une liste d&rsquo;instructions un certain nombre de fois.</p>
<p>Le schéma d&rsquo;une boucle <code data-claire-semantic="javascript">for </code>est le suivant :</p>
<p style="padding-left: 30px;">for (initialisation; condition; incrémentation) {<br />
instruction_1;<br />
instruction_2;<br />
instruction_3;<br />
}</p>
<p>Dans l&rsquo;exemple suivant, on va afficher cinq fois une boîte de dialogue à l&rsquo;aide de <code data-claire-semantic="javascript">alert()</code>, qui affichera le numéro de chaque itération :</p>
<p style="padding-left: 30px;">for (var iter = 0; iter &lt; 5; iter++) {<br />
alert(&lsquo;Itération n°&rsquo; + iter);<br />
}</p>
<p>Dans le premier bloc, l&rsquo;<em>initialisation</em>, on initialise une variable appelée <code data-claire-semantic="javascript">iter </code>qui vaut 0 ; le mot-clé <code data-claire-semantic="javascript">var </code>est requis, comme pour toute initialisation. On définit dans la <em>condition </em>que la boucle continue tant qu&rsquo; <code data-claire-semantic="javascript">iter </code>est strictement inférieure à 5. Enfin, dans le bloc d&rsquo;<em>incrémentation</em>, on indique qu&rsquo; <code data-claire-semantic="javascript">iter </code>sera  incrémentée à chaque itération terminée.</p>
<h4 id="r-1923689" class="hoveredCourseElement" data-claire-element-id="8414958">Reprenons notre exemple</h4>
<p style="padding-left: 30px;">for (var nicks =  », nick; true;) {<br />
nick = prompt(&lsquo;Entrez un prénom :&rsquo;);</p>
<p>if (nick) {<br />
nicks += nick + &lsquo; &lsquo;;<br />
} else {<br />
break;<br />
}<br />
}</p>
<p style="padding-left: 30px;">alert(nicks);</p>
<p id="r-1923647" class="" data-claire-element-id="8414931">Modifions la boucle de manière à compter combien de prénoms ont été enregistrés. Pour ce faire, nous allons créer une variable de boucle, nommée <code data-claire-semantic="javascript">i</code>, qui sera incrémentée à chaque passage de boucle.</p>
<aside id="r-1923649" class="hoveredCourseElement" data-claire-element-id="8414933" data-claire-semantic="information">
<p id="r-1923648" data-claire-element-id="8414932">Les variables de boucles <code data-claire-semantic="javascript">for </code>sont généralement nommées <code data-claire-semantic="javascript">i</code>. Si une boucle se trouve dans une autre boucle, la variable de cette boucle sera nommée <code data-claire-semantic="javascript">j</code>, puis <code data-claire-semantic="javascript">k </code>et ainsi de suite. C&rsquo;est une sorte de convention que l&rsquo;on retrouve dans la majorité des langages de programmation.</p>
<p style="padding-left: 30px;">for (var i = 0, nicks =  », nick; true; i++) {<br />
nick = prompt(&lsquo;Entrez un prénom :&rsquo;);</p>
<p>if (nick) {<br />
nicks += nick + &lsquo; &lsquo;;<br />
} else {<br />
break;<br />
}<br />
}</p>
<p style="padding-left: 30px;">alert(&lsquo;Il y a &lsquo; + i + &lsquo; prénoms :\n\n&rsquo; + nicks);</p>
<p id="r-1923652" class="" data-claire-element-id="8414934">La variable de boucle a été ajoutée dans le bloc d&rsquo;<em>initialisation</em>. Le bloc d&rsquo;<em>incrémentation</em> a lui aussi été modifié : on indique qu&rsquo;il faut incrémenter la variable de boucle <code data-claire-semantic="javascript">i</code>. Ainsi, à chaque passage dans la boucle, <code data-claire-semantic="javascript">i </code>est incrémentée, ce qui va nous permettre de compter assez facilement le nombre de prénoms ajoutés.</p>
<aside id="r-1923654" class="hoveredCourseElement" data-claire-element-id="2045816" data-claire-semantic="information">
<p id="r-1923653" data-claire-element-id="2045815">Les deux caractères « \n » sont là pour faire des sauts de ligne. Un « \n » permet de faire un saut de ligne, donc dans le code précédent nous faisons deux sauts de ligne.</p>
</aside>
<h3 data-claire-element-id="2045815">Avant de commencer, quelques exemples:</h3>
<p>Une boucle while et une boucle for pour le même résulta.</p>
<p><img class="size-full wp-image-1931 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-17.10.40.png" alt="" width="846" height="1268" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-17.10.40.png 846w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-17.10.40-200x300.png 200w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-17.10.40-768x1151.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-17.10.40-683x1024.png 683w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-17.10.40-300x450.png 300w" sizes="(max-width: 846px) 100vw, 846px" /></p>
<p>&nbsp;</p>
</aside>
<p><img class="size-full wp-image-1933 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-17.43.56.png" alt="" width="1568" height="1532" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-17.43.56.png 1568w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-17.43.56-300x293.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-17.43.56-768x750.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-17.43.56-1024x1000.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-17.43.56-850x830.png 850w" sizes="(max-width: 1568px) 100vw, 1568px" /></p>
<p>Ecrivez un programme qui affiche tous les nombres entre 1 et 100 avec les exceptions suivantes :</p>
<ul>
<li>Il affiche « Fizz » à la place du nombre si celui-ci est divisible par 3.</li>
<li>Il affiche « Buzz » à la place du nombre si celui-ci est divisible par 5 et non par 3.</li>
<li>Il affiche « FizzBuzz » à la place du nombre si celui-ci est divisible à la fois par 3 et par 5.</li>
</ul>
<p><img class="alignnone size-full wp-image-1935" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-18.21.45.png" alt="" width="872" height="2360" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-18.21.45.png 872w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-18.21.45-111x300.png 111w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-18.21.45-768x2079.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-18.21.45-378x1024.png 378w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-18.21.45-300x812.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-18.21.45-850x2300.png 850w" sizes="(max-width: 872px) 100vw, 872px" /></p>
<aside id="r-1923649" class="hoveredCourseElement" data-claire-element-id="8414933" data-claire-semantic="information">
<aside id="r-1923654" class="hoveredCourseElement" data-claire-element-id="2045816" data-claire-semantic="information">
<h3 data-claire-element-id="2045815">Exercices:</h3>
<p>&nbsp;</p>
</aside>
<p data-claire-element-id="2045815"><img class="size-full wp-image-1890 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-08.59.02.png" alt="" width="1760" height="2430" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-08.59.02.png 1760w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-08.59.02-217x300.png 217w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-08.59.02-768x1060.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-08.59.02-742x1024.png 742w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-08.59.02-300x414.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-08.59.02-850x1174.png 850w" sizes="(max-width: 1760px) 100vw, 1760px" /><img class="size-full wp-image-1892 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-10.30.20.png" alt="" width="2056" height="966" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-10.30.20.png 2056w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-10.30.20-300x141.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-10.30.20-768x361.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-10.30.20-1024x481.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-10.30.20-850x399.png 850w" sizes="(max-width: 2056px) 100vw, 2056px" /></p>
<p data-claire-element-id="2045815">En rajoutant une moyenne et optimisation du code:</p>
<p data-claire-element-id="2045815"><img class="size-full wp-image-1898 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-13.57.18.png" alt="" width="1708" height="1490" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-13.57.18.png 1708w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-13.57.18-300x262.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-13.57.18-768x670.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-13.57.18-1024x893.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-13.57.18-850x742.png 850w" sizes="(max-width: 1708px) 100vw, 1708px" /><img class="size-full wp-image-1900 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-16.11.38.png" alt="" width="1590" height="1514" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-16.11.38.png 1590w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-16.11.38-300x286.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-16.11.38-768x731.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-16.11.38-1024x975.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-16.11.38-850x809.png 850w" sizes="(max-width: 1590px) 100vw, 1590px" /><img class="size-full wp-image-1902 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-16.58.43.png" alt="" width="1720" height="1364" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-16.58.43.png 1720w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-16.58.43-300x238.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-16.58.43-768x609.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-16.58.43-1024x812.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-06-à-16.58.43-850x674.png 850w" sizes="(max-width: 1720px) 100vw, 1720px" /></p>
</aside>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>JavaScript (introduction)</title>
		<link>https://wp.gwd-france.com/2018/12/03/javascript/</link>
		
		<dc:creator><![CDATA[yannick]]></dc:creator>
		<pubDate>Mon, 03 Dec 2018 09:41:00 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://wp.gwd-france.com/?p=1826</guid>

					<description><![CDATA[Le JavaScript est un langage de programmation interprété, c&#8217;est-à-dire qu&#8217;il a besoin d&#8217;un interpréteur pour pouvoir être exécuté. Tout comme le HTML, le JavaScript est généralement exécuté par le navigateur de l&#8217;internaute : on parle d&#8217;un comportement client-side, par opposition au server-side lorsque le code est exécuté par le serveur. La syntaxe du JavaScript Les instructions Les instructions...]]></description>
										<content:encoded><![CDATA[<p>Le JavaScript est un langage de programmation interprété, c&rsquo;est-à-dire qu&rsquo;il a besoin d&rsquo;un interpréteur pour pouvoir être exécuté.</p>
<p>Tout comme le HTML, le JavaScript est généralement exécuté par le navigateur de l&rsquo;internaute : on parle d&rsquo;un comportement <strong>client-side</strong>, par opposition au <strong>server-side</strong> lorsque le code est exécuté par le serveur.</p>
<h2 id="r-1916841" class="foldable__button secondTitle js-foldable-button hoveredCourseElement" data-claire-element-id="8414769">La syntaxe du JavaScript</h2>
<h4 id="r-1923020" class="" data-claire-element-id="5615618"><strong>Les instructions</strong></h4>
<p id="r-1923012" class="hoveredCourseElement" data-claire-element-id="2243719">Les instructions doivent être séparées par un point-virgule que l&rsquo;on place à la fin de chaque instruction:</p>
<p style="padding-left: 30px;" data-claire-element-id="2243719">instruction_1;<br />
instruction_2;<br />
instruction_3;</p>
<p data-claire-element-id="2243719">Le JavaScript n&rsquo;est pas sensible aux espaces.</p>
<h5 id="r-1923039" class="hoveredCourseElement" data-claire-element-id="5615627"><strong>Commentaires de fin de ligne</strong></h5>
<p style="padding-left: 30px;">instruction_1; // Ceci est ma première instruction<br />
instruction_2;<br />
// La troisième instruction ci-dessous :<br />
instruction_3;</p>
<h5 id="r-1923044" class="hoveredCourseElement" data-claire-element-id="5615630"><strong>Commentaires multilignes</strong></h5>
<p style="padding-left: 30px;">/* Ce script comporte 3 instructions :<br />
&#8211; Instruction 1 qui fait telle chose<br />
&#8211; Instruction 2 qui fait autre chose<br />
&#8211; Instruction 3 qui termine le script<br />
*/<br />
instruction_1;<br />
instruction_2;<br />
instruction_3;</p>
<p>&nbsp;</p>
<h4 id="r-1923051" class="" data-claire-element-id="8414768"><strong>Les fonctions</strong></h4>
<p>Une fonction se compose de deux choses : son nom, suivi d&rsquo;un couple de parenthèses (une ouvrante et une fermante). Entre les parenthèses se trouvent les <strong>arguments</strong>, que l&rsquo;on appelle aussi <strong>paramètres</strong>. Ceux-ci contiennent des valeurs qui sont transmises à la fonction. Dans le cas du<code data-claire-semantic="text">Hello world!</code>, ce sont les mots « Hello world! » qui sont passés en paramètre :</p>
<p style="padding-left: 30px;">alert(&lsquo;Hello world!&rsquo;);</p>
<p id="r-1923065" data-claire-element-id="8414777"><strong>Le JavaScript « dans la page »</strong></p>
<p style="padding-left: 30px;">&lt;!DOCTYPE html&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Hello World!&lt;/title&gt;<br />
&lt;/head&gt;</p>
<p style="padding-left: 30px;">&lt;body&gt;</p>
<p style="padding-left: 60px;">&lt;script&gt;<br />
alert(&lsquo;Hello world!&rsquo;);<br />
&lt;/script&gt;</p>
<p style="padding-left: 30px;">&lt;/body&gt;<br />
&lt;/html&gt;</p>
<h4 id="r-1923072" class="hoveredCourseElement" data-claire-element-id="8414779"><strong>Le JavaScript externe</strong></h4>
<p>Il est possible, et même conseillé, d&rsquo;écrire le code JavaScript dans un fichier externe, portant l&rsquo;extension<code data-claire-semantic="text">.js</code>. Ce fichier est ensuite appelé depuis la page Web au moyen de l&rsquo;élément<code data-claire-semantic="html">&lt;script&gt;</code>et de son attribut<code data-claire-semantic="html">src</code>qui contient l&rsquo;URL du fichier<code data-claire-semantic="text">.js</code>. Voici tout de suite un petit exemple :</p>
<p style="padding-left: 30px;">&lt;!DOCTYPE html&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Hello World!&lt;/title&gt;<br />
&lt;/head&gt;</p>
<p style="padding-left: 30px;">&lt;body&gt;</p>
<p style="padding-left: 30px;">&lt;p&gt;<br />
&lt;!&#8211;</p>
<p style="padding-left: 30px;">Contenu de la page Web</p>
<p style="padding-left: 30px;">&#8230;</p>
<p style="padding-left: 30px;">&#8211;&gt;<br />
&lt;/p&gt;</p>
<p style="padding-left: 60px;">&lt;script&gt;<br />
// Un peu de code JavaScript&#8230;<br />
&lt;/script&gt;</p>
<p style="padding-left: 60px;">&lt;script src= »hello.js »&gt;&lt;/script&gt;</p>
<p style="padding-left: 30px;">&lt;/body&gt;<br />
&lt;/html&gt;</p>
<h4 id="r-1923132" class="hoveredCourseElement" data-claire-element-id="8414808"><strong>Déclarer une variable</strong></h4>
<p>Le mot-clé<code data-claire-semantic="javascript">var</code>est présent pour indiquer que vous déclarez une variable.</p>
<p>Le signe = sert à attribuer une valeur à la variable ; ici nous lui avons attribué le nombre 2.</p>
<p style="padding-left: 30px;">var myVariable = 2;</p>
<p>Vous pouvez déclarer et assigner des variables sur une seule et même ligne :</p>
<p style="padding-left: 30px;">var myVariable1, myVariable2;</p>
<p>On peut ce servir de la variable let pour donner une valeur à une variable uniquement dans un bloque spécifique.</p>
<div>
<div style="padding-left: 30px;">{</div>
<div style="padding-left: 30px;">let c=a;</div>
<div style="padding-left: 30px;">a=b;</div>
<div style="padding-left: 30px;">b=c;</div>
<div style="padding-left: 30px;">}</div>
</div>
<p><strong>Le type numérique (alias <em>number</em>) :</strong></p>
<p style="padding-left: 30px;">var number = 5.5;</p>
<p><strong>Les chaînes de caractères (alias <em>string</em>) :</strong></p>
<p>Entouré de &lsquo; ou « :</p>
<div>
<div style="padding-left: 30px;">&lt;script&gt;</div>
<div style="padding-left: 60px;">alert(&lsquo;Hello world!&rsquo;);</div>
<div style="padding-left: 30px;">&lt;/script&gt;</div>
</div>
<p><strong>Les booléens (alias <em>boolean</em>)</strong> :</p>
<p style="padding-left: 30px;">var isTrue = true;<br />
var isFalse = false;</p>
<p id="r-1923151" class="" data-claire-element-id="8414819">Il se peut que vous ayez un jour ou l&rsquo;autre besoin de tester l&rsquo;existence d&rsquo;une variable ou d&rsquo;en vérifier son type. Dans ce genre de situations, l&rsquo;instruction<code data-claire-semantic="javascript">typeof</code>est très utile, voici comment l&rsquo;utiliser :</p>
<p class="" style="padding-left: 30px;" data-claire-element-id="8414819"><span class="ace_storage ace_type">var</span> <span class="ace_identifier">number</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_constant ace_numeric">2</span><span class="ace_punctuation ace_operator">;</span></p>
<p class="" style="padding-left: 30px;" data-claire-element-id="8414819"><span class="ace_support ace_function">alert</span><span class="ace_paren ace_lparen">(</span><span class="ace_keyword">typeof</span> <span class="ace_identifier">number</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span> <span class="ace_comment">// Affiche : « number »</span></p>
<div class="ace-openclassrooms">
<div class="ace_static_highlight ace_show_gutter">
<div class="ace_line"></div>
<div class="ace_line" style="padding-left: 30px;"><span class="ace_storage ace_type">var</span> <span class="ace_identifier">text</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_string">&lsquo;Mon texte&rsquo;</span><span class="ace_punctuation ace_operator">;</span></div>
<div></div>
<div class="ace_line" style="padding-left: 30px;"><span class="ace_support ace_function">alert</span><span class="ace_paren ace_lparen">(</span><span class="ace_keyword">typeof</span> <span class="ace_identifier">text</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span> <span class="ace_comment">// Affiche : « string »</span></div>
<div class="ace_line"></div>
<div class="ace_line" style="padding-left: 30px;"><span class="ace_storage ace_type">var</span> <span class="ace_identifier">aBoolean</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_constant ace_language ace_boolean">false</span><span class="ace_punctuation ace_operator">;</span></div>
<div></div>
<div class="ace_line" style="padding-left: 30px;"><span class="ace_support ace_function">alert</span><span class="ace_paren ace_lparen">(</span><span class="ace_keyword">typeof</span> <span class="ace_identifier">aBoolean</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span> <span class="ace_comment">// Affiche : « boolean »</span></div>
<div></div>
<div class="ace_line">Simple non ? Et maintenant voici comment tester l&rsquo;existence d&rsquo;une variable :</div>
<div></div>
<div class="ace_line"><span class="ace_support ace_function">alert</span><span class="ace_paren ace_lparen">(</span><span class="ace_keyword">typeof</span> <span class="ace_identifier">nothing</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span> <span class="ace_comment">// Affiche : « undefined »</span></div>
<div></div>
<div class="ace_line">Voilà un type de variable très important ! Si l&rsquo;instruction<code data-claire-semantic="javascript">typeof</code>vous renvoie<code data-claire-semantic="javascript">undefined</code>, c&rsquo;est soit que votre variable est inexistante, soit qu&rsquo;elle est déclarée mais ne contient rien.</div>
<div>
<h4 id="r-2262509" class="hoveredCourseElement" data-claire-element-id="8414828"><strong>Quelques calculs simples</strong></h4>
<p style="padding-left: 30px;">var result = 3 + 2;<br />
alert(result); // Affiche : « 5 »</p>
<p style="padding-left: 30px;">var number1 = 3, number2 = 2, result;<br />
result = number1 * number2;<br />
alert(result); // Affiche : « 6 »</p>
<p id="r-2262511" class="hoveredCourseElement" data-claire-element-id="8414831"><strong>Simplifier  vos calculs</strong></p>
<p style="padding-left: 30px;">var number = 3;<br />
number = number + 5;<br />
alert(number); // Affiche : « 8 »</p>
<p>Ce code a exactement le même effet</p>
<p style="padding-left: 30px;">var number = 3;<br />
number += 5;<br />
alert(number); // Affiche : « 8 »</p>
<div id="ui-id-2" class="foldable" data-widget="foldable">
<div class="foldable__content">
<p id="r-1923205" class="" data-claire-element-id="2045354">ceci ne s&rsquo;applique pas uniquement aux additions mais fonctionne avec tous les autres opérateurs arithmétiques :</p>
<ul id="r-1923216" class="hoveredCourseElement" data-claire-element-id="2045365">
<li id="r-1923207" data-claire-element-id="2045356">
<p id="r-1923206" data-claire-element-id="2045355">+=</p>
</li>
<li id="r-1923209" data-claire-element-id="2045358">
<p id="r-1923208" data-claire-element-id="2045357">-=</p>
</li>
<li id="r-1923211" data-claire-element-id="2045360">
<p id="r-1923210" data-claire-element-id="2045359">*=</p>
</li>
<li id="r-1923213" data-claire-element-id="2045362">
<p id="r-1923212" data-claire-element-id="2045361">/=</p>
</li>
<li id="r-1923215" data-claire-element-id="2045364">
<p id="r-1923214" data-claire-element-id="2045363">%=</p>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="foldable is-closed" data-widget="foldable"></div>
<div data-widget="foldable">
<h4 id="r-1923226" class="" data-claire-element-id="8414837"><strong>La concaténation</strong></h4>
<p id="r-1923219" class="hoveredCourseElement" data-claire-element-id="2045369">Une concaténation consiste à ajouter une chaîne de caractères à la fin d&rsquo;une autre, comme dans cet exemple :</p>
<p style="padding-left: 30px;" data-claire-element-id="2045369">var hi = &lsquo;Bonjour&rsquo;, name = &lsquo;toi&rsquo;, result;<br />
result = hi + name;<br />
alert(result); // Affiche : « Bonjourtoi »</p>
<p style="padding-left: 30px;" data-claire-element-id="2045369">var text = &lsquo;Bonjour &lsquo;;<br />
text += &lsquo;toi&rsquo;;<br />
alert(text); // Affiche « Bonjour toi ».</p>
<p id="r-2262515" class="hoveredCourseElement" data-claire-element-id="8414846"><strong>Interagir avec l&rsquo;utilisateur</strong></p>
<p>grâce à la fonction<code data-claire-semantic="javascript">prompt()</code>. Voici comment l&rsquo;utiliser :</p>
<p style="padding-left: 30px;">var userName = prompt(&lsquo;Entrez votre prénom :&rsquo;);<br />
alert(userName); // Affiche le prénom entré par l&rsquo;utilisateur</p>
<p>Elle renvoie ce que l&rsquo;utilisateur a écrit sous forme d&rsquo;une chaîne de caractères. ex:</p>
<p style="padding-left: 30px;">var text = &lsquo;Voici un nombre : &lsquo;, number = 42, result;</p>
<p style="padding-left: 30px;">result = text + number;<br />
alert(result); // Affiche : « Voici un nombre : 42 »</p>
</div>
<h4 id="r-1923256" class="" data-claire-element-id="8414852">Convertir une chaîne de caractères en nombre</h4>
<div data-widget="foldable">
<p>Maintenant, écrire deux fois le chiffre 1, pour obtenir 2 comme résultat et non 11.</p>
<p style="padding-left: 30px;">var first, second, result;</p>
<p style="padding-left: 30px;">first = prompt(&lsquo;Entrez le premier chiffre :&rsquo;);<br />
second = prompt(&lsquo;Entrez le second chiffre :&rsquo;);<br />
result = parseInt(first) + parseInt(second);</p>
<p style="padding-left: 30px;">alert(result);</p>
<p>tout ce qui est écrit dans le champ de texte de<code data-claire-semantic="javascript">prompt()</code>est récupéré sous forme d&rsquo;une chaîne de caractères, que ce soit un chiffre ou non. Pour cela, vous allez avoir besoin de la fonction<code data-claire-semantic="javascript">parseInt()</code>qui s&rsquo;utilise de cette manière :</p>
<p style="padding-left: 30px;">var text = &lsquo;1337&rsquo;, number;</p>
<p style="padding-left: 30px;">number = parseInt(text);<br />
alert(typeof number); // Affiche : « number »<br />
alert(number); // Affiche : « 1337 »</p>
<h4 id="r-2262519" class="" data-claire-element-id="8414863"><strong>Convertir un nombre en chaîne de caractères</strong></h4>
<p id="r-1923257" class="hoveredCourseElement" data-claire-element-id="2045407">Pour clore ce chapitre, nous allons voir comment convertir un nombre en chaîne de caractères. Il est déjà possible de concaténer un nombre et une chaîne sans conversion, mais pas deux nombres, car ceux-ci s&rsquo;ajouteraient à cause de l&#8217;emploi du +. D&rsquo;où le besoin de convertir un nombre en chaîne. Voici comment faire :</p>
<p style="padding-left: 30px;" data-claire-element-id="2045407">var text, number1 = 4, number2 = 2;<br />
text = number1 +  » + number2;<br />
alert(text); // Affiche : « 42 »</p>
<p data-claire-element-id="2045407">Nous avons juste ajouté une chaîne de caractères vide entre les deux nombres, ce qui aura eu pour effet de les convertir en chaînes de caractères.</p>
</div>
<h2 class="part-title" data-part-title="Les conditions">Les conditions</h2>
<h3 id="r-1917197" class="foldable__button secondTitle js-foldable-button hoveredCourseElement" data-claire-element-id="7464903">La base de toute condition : les booléens</h3>
<h4 id="r-1923350" class="hoveredCourseElement" style="text-align: center;" data-claire-element-id="7464787">Les opérateurs de comparaison</h4>
<table id="r-1923340" data-claire-element-id="2045492">
<thead id="r-1923298" data-claire-element-id="2045450">
<tr id="r-1923297" data-claire-element-id="2045449">
<th id="r-1923294" data-claire-element-id="2045446">
<p id="r-1923293" data-claire-element-id="2045445">Opérateur</p>
</th>
<th id="r-1923296" data-claire-element-id="2045448">
<p id="r-1923295" data-claire-element-id="2045447">Signification</p>
</th>
</tr>
</thead>
<tbody id="r-1923339" data-claire-element-id="2045491">
<tr id="r-1923303" data-claire-element-id="2045455">
<td id="r-1923300" data-claire-element-id="2045452">
<p id="r-1923299" data-claire-element-id="2045451">==</p>
</td>
<td id="r-1923302" data-claire-element-id="2045454">
<p id="r-1923301" data-claire-element-id="2045453">égal à</p>
</td>
</tr>
<tr id="r-1923308" data-claire-element-id="2045460">
<td id="r-1923305" data-claire-element-id="2045457">
<p id="r-1923304" data-claire-element-id="2045456">!=</p>
</td>
<td id="r-1923307" data-claire-element-id="2045459">
<p id="r-1923306" data-claire-element-id="2045458">différent de</p>
</td>
</tr>
<tr id="r-1923313" data-claire-element-id="2045465">
<td id="r-1923310" data-claire-element-id="2045462">
<p id="r-1923309" data-claire-element-id="2045461">===</p>
</td>
<td id="r-1923312" data-claire-element-id="2045464">
<p id="r-1923311" data-claire-element-id="2045463">contenu et type égal à</p>
</td>
</tr>
<tr id="r-1923318" data-claire-element-id="2045470">
<td id="r-1923315" data-claire-element-id="2045467">
<p id="r-1923314" data-claire-element-id="2045466">!==</p>
</td>
<td id="r-1923317" data-claire-element-id="2045469">
<p id="r-1923316" data-claire-element-id="2045468">contenu ou type différent de</p>
</td>
</tr>
<tr id="r-1923323" data-claire-element-id="2045475">
<td id="r-1923320" data-claire-element-id="2045472">
<p id="r-1923319" data-claire-element-id="2045471">&gt;</p>
</td>
<td id="r-1923322" data-claire-element-id="2045474">
<p id="r-1923321" data-claire-element-id="2045473">supérieur à</p>
</td>
</tr>
<tr id="r-1923328" data-claire-element-id="2045480">
<td id="r-1923325" data-claire-element-id="2045477">
<p id="r-1923324" data-claire-element-id="2045476">&gt;=</p>
</td>
<td id="r-1923327" data-claire-element-id="2045479">
<p id="r-1923326" data-claire-element-id="2045478">supérieur ou égal à</p>
</td>
</tr>
<tr id="r-1923333" data-claire-element-id="2045485">
<td id="r-1923330" data-claire-element-id="2045482">
<p id="r-1923329" data-claire-element-id="2045481">&lt;</p>
</td>
<td id="r-1923332" data-claire-element-id="2045484">
<p id="r-1923331" data-claire-element-id="2045483">inférieur à</p>
</td>
</tr>
<tr id="r-1923338" data-claire-element-id="2045490">
<td id="r-1923335" data-claire-element-id="2045487">
<p id="r-1923334" data-claire-element-id="2045486">&lt;=</p>
</td>
<td id="r-1923337" data-claire-element-id="2045489">
<p id="r-1923336" data-claire-element-id="2045488">inférieur ou égal à</p>
</td>
</tr>
</tbody>
</table>
<p style="padding-left: 30px;">var number1 = 2, number2 = 2, number3 = 4, result;</p>
<p style="padding-left: 30px;">result = number1 == number2; // On spécifie deux variables avec l&rsquo;opérateur de comparaison entre elles<br />
alert(result); // Affiche « true », la condition est donc vérifiée car les deux variables contiennent bien la même valeur</p>
<p style="padding-left: 30px;">result = number1 == number3;<br />
alert(result); // Affiche « false », la condition n&rsquo;est pas vérifiée car 2 est différent de 4</p>
<p style="padding-left: 30px;">result = number1 &lt; number3;<br />
alert(result); // Affiche « true », la condition est vérifiée car 2 est bien inférieur à 4</p>
<p style="padding-left: 30px;">var number = 4, text = &lsquo;4&rsquo;, result;</p>
<p style="padding-left: 30px;">result = number == text;<br />
alert(result); // Affiche « true » alors que « number » est un nombre et « text » une chaîne de caractères</p>
<p style="padding-left: 30px;">result = number === text;<br />
alert(result); // Affiche « false » car cet opérateur compare aussi les types des variables en plus de leurs valeurs</p>
<h4 id="r-1923392" class="hoveredCourseElement" style="text-align: center;" data-claire-element-id="7464902">Les opérateurs logiques</h4>
<table id="r-1923382" data-claire-element-id="2045534">
<thead id="r-1923359" data-claire-element-id="2045511">
<tr id="r-1923358" data-claire-element-id="2045510">
<th id="r-1923353" data-claire-element-id="2045505">
<p id="r-1923352" data-claire-element-id="2045504">Opérateur</p>
</th>
<th id="r-1923355" data-claire-element-id="2045507">
<p id="r-1923354" data-claire-element-id="2045506">Type de logique</p>
</th>
<th id="r-1923357" data-claire-element-id="2045509">
<p id="r-1923356" data-claire-element-id="2045508">Utilisation</p>
</th>
</tr>
</thead>
<tbody id="r-1923381" data-claire-element-id="2045533">
<tr id="r-1923366" data-claire-element-id="2045518">
<td id="r-1923361" data-claire-element-id="2045513">
<p id="r-1923360" data-claire-element-id="2045512">&amp;&amp;</p>
</td>
<td id="r-1923363" data-claire-element-id="2045515">
<p id="r-1923362" data-claire-element-id="2045514">ET</p>
</td>
<td id="r-1923365" data-claire-element-id="2045517">
<p id="r-1923364" data-claire-element-id="2045516">valeur1 &amp;&amp; valeur2</p>
</td>
</tr>
<tr id="r-1923373" data-claire-element-id="2045525">
<td id="r-1923368" data-claire-element-id="2045520">
<p id="r-1923367" data-claire-element-id="2045519">||</p>
</td>
<td id="r-1923370" data-claire-element-id="2045522">
<p id="r-1923369" data-claire-element-id="2045521">OU</p>
</td>
<td id="r-1923372" data-claire-element-id="2045524">
<p id="r-1923371" data-claire-element-id="2045523">valeur1 || valeur2</p>
</td>
</tr>
<tr id="r-1923380" data-claire-element-id="2045532">
<td id="r-1923375" data-claire-element-id="2045527">
<p id="r-1923374" data-claire-element-id="2045526">!</p>
</td>
<td id="r-1923377" data-claire-element-id="2045529">
<p id="r-1923376" data-claire-element-id="2045528">NON</p>
</td>
<td id="r-1923379" data-claire-element-id="2045531">
<p id="r-1923378" data-claire-element-id="2045530">!valeur</p>
</td>
</tr>
</tbody>
</table>
<h5 id="r-1923385" class="hoveredCourseElement" data-claire-element-id="7464790">L&rsquo;opérateur ET</h5>
<p>Cet opérateur vérifie la condition lorsque toutes les valeurs qui lui sont passées valent <code data-claire-semantic="javascript">true</code>. Si une seule d&rsquo;entre elles vaut <code data-claire-semantic="javascript">false</code> alors la condition ne sera pas vérifiée.</p>
<h5 id="r-1923388" class="hoveredCourseElement" data-claire-element-id="7464793">L&rsquo;opérateur OU</h5>
<p id="r-1923386" class="" data-claire-element-id="7464791">Cet opérateur est plus « souple » car il renvoie<code data-claire-semantic="javascript">true</code>si une des valeurs qui lui est soumise contient<code data-claire-semantic="javascript">true</code>, qu&rsquo;importent les autres valeurs.</p>
<h5 id="r-1923391" class="hoveredCourseElement" data-claire-element-id="7464796">L&rsquo;opérateur NON</h5>
<p id="r-1923389" class="" data-claire-element-id="7464794">Cet opérateur se différencie des deux autres car il ne prend qu&rsquo;une seule valeur à la fois. S&rsquo;il se nomme « NON » c&rsquo;est parce que sa fonction est d&rsquo;inverser la valeur qui lui est passée, ainsi<code data-claire-semantic="javascript">true</code>deviendra<code data-claire-semantic="javascript">false</code>et inversement.</p>
<h4 id="r-1923399" class="hoveredCourseElement" data-claire-element-id="7464800">Combiner les opérateurs</h4>
<p id="r-1923394" class="" data-claire-element-id="2045546">Tout d&rsquo;abord un petit résumé (lisez attentivement) : les opérateurs de comparaison acceptent chacun deux valeurs en entrée et renvoient un booléen, tandis que les opérateurs logiques acceptent plusieurs booléens en entrée et renvoient un booléen.</p>
<p style="padding-left: 30px;" data-claire-element-id="2045546">var result = 2 &gt; 8 &amp;&amp; 8 &gt; 2;<br />
alert(result); // Affiche « false »</p>
<h4 id="r-1923399" class="" data-claire-element-id="7464800">Combiner les opérateurs</h4>
<p id="r-1923394" class="hoveredCourseElement" data-claire-element-id="2045546">Tout d&rsquo;abord un petit résumé (lisez attentivement) : les opérateurs de comparaison acceptent chacun deux valeurs en entrée et renvoient un booléen, tandis que les opérateurs logiques acceptent plusieurs booléens en entrée et renvoient un booléen.</p>
<p style="padding-left: 30px;" data-claire-element-id="2045546">var result = 2 &gt; 8 &amp;&amp; 8 &gt; 2;<br />
alert(result); // Affiche « false »</p>
<h4 id="r-1923418" class="hoveredCourseElement" data-claire-element-id="7464809">La structure <code data-claire-semantic="text">if </code>pour dire « si »</h4>
<p>Comme vous pouvez le constater, le code d&rsquo;une condition est exécuté si le booléen reçu est <code data-claire-semantic="javascript">true </code>alors que <code data-claire-semantic="javascript">false </code>empêche l&rsquo;exécution du code.</p>
<h4 id="r-1923435" class="hoveredCourseElement" data-claire-element-id="7464822">La structure <code data-claire-semantic="text">else </code>pour dire « sinon »</h4>
<p><code data-claire-semantic="javascript">confirm()</code> on lui passe en paramètre une chaîne de caractères qui sera affichée à l&rsquo;écran et elle retourne un booléen en fonction de l&rsquo;action de l&rsquo;utilisateur</p>
<p style="padding-left: 30px;">if (confirm(&lsquo;Pour accéder à ce site vous devez avoir 18 ans ou plus, cliquez sur « OK » si c\&rsquo;est le cas.&rsquo;)) {<br />
alert(&lsquo;Vous allez être redirigé vers le site.&rsquo;);<br />
}</p>
<p style="padding-left: 30px;">else {<br />
alert(« Désolé, vous n&rsquo;avez pas accès à ce site. »);<br />
}</p>
<h4 id="r-1923448" class="hoveredCourseElement" data-claire-element-id="7464829">La structure <code data-claire-semantic="text">else  if </code>pour dire « sinon si »</h4>
<ul id="r-1923443" class="hoveredCourseElement" data-claire-element-id="7464825">
<li id="r-1923438" data-claire-element-id="2045591">
<p id="r-1923437" data-claire-element-id="2045590">Une première condition est à tester ;</p>
</li>
<li id="r-1923440" data-claire-element-id="2045593">
<p id="r-1923439" data-claire-element-id="2045592">Une deuxième condition est présente et sera testée si la première échoue ;</p>
</li>
<li id="r-1923442" data-claire-element-id="7464824">
<p id="r-1923441" data-claire-element-id="7464823">Et si aucune condition ne se vérifie, la structure <code data-claire-semantic="javascript">else </code>fait alors son travail.</p>
</li>
</ul>
<p style="padding-left: 60px;">var floor = parseInt(prompt(« Entrez l&rsquo;étage où l&rsquo;ascenseur doit se rendre (de -2 à 30) : »));</p>
<p style="padding-left: 60px;">if (floor == 0) {</p>
<p style="padding-left: 60px;">alert(&lsquo;Vous vous trouvez déjà au rez-de-chaussée.&rsquo;);</p>
<p style="padding-left: 60px;">} else if (-2 &lt;= floor &amp;&amp; floor &lt;= 30) {</p>
<p style="padding-left: 60px;">alert(« Direction l&rsquo;étage n° » + floor + &lsquo; !&rsquo;);</p>
<p style="padding-left: 60px;">} else {</p>
<p style="padding-left: 60px;">alert(« L&rsquo;étage spécifié n&rsquo;existe pas. »);</p>
<p style="padding-left: 60px;">}</p>
<h4 id="r-1923511" class="" data-claire-element-id="7464877">Le cas de l&rsquo;opérateur OU</h4>
<p id="r-1923507" class="hoveredCourseElement" data-claire-element-id="7464874">En plus de sa fonction principale, permet de renvoyer la première variable possédant une valeur évaluée à <code data-claire-semantic="javascript">true</code>!</p>
<p style="padding-left: 30px;">var conditionTest1 =  », conditionTest2 = &lsquo;Une chaîne de caractères&rsquo;;</p>
<p style="padding-left: 30px;">alert(conditionTest1 || conditionTest2);</p>
<p>Ce code nous retourne la valeur « Une chaîne de caractères » parce que l&rsquo;opérateur OU va se charger de retourner la valeur de la première variable dont le contenu est évalué à <code data-claire-semantic="javascript">true</code>.</p>
<h3 id="r-1917275" class="foldable__button secondTitle js-foldable-button hoveredCourseElement" data-claire-element-id="7464855">La condition « switch »</h3>
<ul id="r-1923466" class="hoveredCourseElement" data-claire-element-id="7464846">
<li id="r-1923457" data-claire-element-id="7464837">
<p id="r-1923456" data-claire-element-id="7464836">On écrit le mot-clé <code data-claire-semantic="javascript">switch </code>suivi de la variable à analyser entre parenthèses et d&rsquo;une paire d&rsquo;accolades ;</p>
</li>
<li id="r-1923459" data-claire-element-id="7464839">
<p id="r-1923458" data-claire-element-id="7464838">Dans les accolades se trouvent tous les cas de figure pour notre variable, définis par le mot-clé <code data-claire-semantic="javascript">case </code>suivi de la valeur qu&rsquo;il doit prendre en compte (cela peut être un nombre mais aussi du texte) et de deux points ;</p>
</li>
<li id="r-1923461" data-claire-element-id="7464841">
<p id="r-1923460" data-claire-element-id="7464840">Tout ce qui suit les deux points d&rsquo;un <code data-claire-semantic="javascript">case </code>sera exécuté si la variable analysée par le <code data-claire-semantic="javascript">switch </code>contient la valeur du <code data-claire-semantic="javascript">case</code>;</p>
</li>
<li id="r-1923463" data-claire-element-id="7464843">
<p id="r-1923462" data-claire-element-id="7464842">À chaque fin d&rsquo;un <code data-claire-semantic="javascript">case </code>on écrit l&rsquo;instruction <code data-claire-semantic="javascript">break </code>pour « casser » le <code data-claire-semantic="javascript">switch </code>et ainsi éviter d&rsquo;exécuter le reste du code qu&rsquo;il contient ;</p>
</li>
<li id="r-1923465" data-claire-element-id="7464845">
<p id="r-1923464" data-claire-element-id="7464844">Et enfin on écrit le mot-clé <code data-claire-semantic="javascript">default </code>suivi de deux points. Le code qui suit cette instruction sera exécuté si aucun des cas précédents n&rsquo;a été exécuté. Attention, cette partie est optionnelle, vous n&rsquo;êtes pas obligés de l&rsquo;intégrer à votre code.</p>
</li>
</ul>
<p style="padding-left: 60px;">var drawer = parseInt(prompt(&lsquo;Choisissez le tiroir à ouvrir (1 à 4) :&rsquo;));</p>
<p style="padding-left: 60px;">switch (drawer) {<br />
case 1:<br />
alert(&lsquo;Contient divers outils pour dessiner : du papier, des crayons, etc.&rsquo;);<br />
break;</p>
<p style="padding-left: 60px;">case 2:<br />
alert(&lsquo;Contient du matériel informatique : des câbles, des composants, etc.&rsquo;);<br />
break;</p>
<p style="padding-left: 60px;">case 3:<br />
alert(&lsquo;Ah ? Ce tiroir est fermé à clé ! Dommage !&rsquo;);<br />
break;</p>
<p style="padding-left: 60px;">case 4:<br />
alert(&lsquo;Contient des vêtements : des chemises, des pantalons, etc.&rsquo;);<br />
break;</p>
<p style="padding-left: 60px;">default:<br />
alert(« Info du jour : le meuble ne contient que 4 tiroirs et, jusqu&rsquo;à preuve du contraire, les tiroirs négatifs n&rsquo;existent pas. »);<br />
}</p>
<h3 id="r-1917297" class="foldable__button secondTitle js-foldable-button hoveredCourseElement" data-claire-element-id="7464866">Les ternaires</h3>
<p>Ex:</p>
<div>
<div style="padding-left: 90px;">reponse=prompt(&lsquo;voulez-vousallez en pause?&rsquo;);</div>
<div style="padding-left: 90px;">console.log(reponse==&rsquo;oui&rsquo; ? « on y va! »: « Etes vous sur de ne pas vouloir y allez? »);</div>
</div>
<h3 id="r-1917383" class="foldable__button secondTitle js-foldable-button" data-claire-element-id="8414880"></h3>
<ul id="r-1923491" class="hoveredCourseElement" data-claire-element-id="7464864">
<li id="r-1923486" data-claire-element-id="7464863">
<p id="r-1923485" data-claire-element-id="7464862">La variable <code data-claire-semantic="text">reponse </code>qui va être analysée par la ternaire ;</p>
</li>
<li id="r-1923488" data-claire-element-id="2045643">
<p id="r-1923487" data-claire-element-id="2045642">Un point d&rsquo;interrogation suivi d&rsquo;une valeur (un nombre, du texte, etc.) ;</p>
</li>
<li id="r-1923490" data-claire-element-id="2045645">
<p id="r-1923489" data-claire-element-id="2045644">Deux points suivis d&rsquo;une deuxième valeur et enfin le point-virgule marquant la fin de la ligne d&rsquo;instructions.</p>
</li>
</ul>
<p>si la variable <code data-claire-semantic="text">reponse </code>vaut <code data-claire-semantic="javascript">true </code>alors la valeur retournée par la ternaire sera celle écrite juste après le point d&rsquo;interrogation, si elle vaut <code data-claire-semantic="javascript">false </code>alors la valeur retournée sera celle après les deux points.</p>
<h3 id="r-1917383" class="foldable__button secondTitle js-foldable-button" data-claire-element-id="8414880">Un petit exercice</h3>
<p id="r-1923513" class="" data-claire-element-id="2045670">fournir un commentaire sur quatre tranches d&rsquo;âge différentes qui sont les suivantes :</p>
<div class="tableContainer">
<table id="r-1923541" data-claire-element-id="2045698">
<thead id="r-1923519" data-claire-element-id="2045676">
<tr id="r-1923518" data-claire-element-id="2045675">
<th id="r-1923515" data-claire-element-id="2045672">
<p id="r-1923514" data-claire-element-id="2045671">Tranche d&rsquo;âge</p>
</th>
<th id="r-1923517" data-claire-element-id="2045674">
<p id="r-1923516" data-claire-element-id="2045673">Exemple de commentaire</p>
</th>
</tr>
</thead>
<tbody id="r-1923540" data-claire-element-id="2045697">
<tr id="r-1923524" data-claire-element-id="2045681">
<td id="r-1923521" data-claire-element-id="2045678">
<p id="r-1923520" data-claire-element-id="2045677">1 à 17 ans</p>
</td>
<td id="r-1923523" data-claire-element-id="2045680">
<p id="r-1923522" data-claire-element-id="2045679">« Vous n&rsquo;êtes pas encore majeur. »</p>
</td>
</tr>
<tr id="r-1923529" data-claire-element-id="2045686">
<td id="r-1923526" data-claire-element-id="2045683">
<p id="r-1923525" data-claire-element-id="2045682">18 à 49 ans</p>
</td>
<td id="r-1923528" data-claire-element-id="2045685">
<p id="r-1923527" data-claire-element-id="2045684">« Vous êtes majeur mais pas encore senior. »</p>
</td>
</tr>
<tr id="r-1923534" data-claire-element-id="2045691">
<td id="r-1923531" data-claire-element-id="2045688">
<p id="r-1923530" data-claire-element-id="2045687">50 à 59 ans</p>
</td>
<td id="r-1923533" data-claire-element-id="2045690">
<p id="r-1923532" data-claire-element-id="2045689">« Vous êtes senior mais pas encore retraité. »</p>
</td>
</tr>
<tr id="r-1923539" data-claire-element-id="2045696">
<td id="r-1923536" data-claire-element-id="2045693">
<p id="r-1923535" data-claire-element-id="2045692">60 à 120 ans</p>
</td>
<td id="r-1923538" data-claire-element-id="2045695">
<p id="r-1923537" data-claire-element-id="2045694">« Vous êtes retraité, profitez de votre temps libre ! »</p>
</td>
</tr>
</tbody>
</table>
</div>
<p id="r-1923542" class="" data-claire-element-id="2045699">Le déroulement du code sera le suivant :</p>
<ul id="r-1923549" class="hoveredCourseElement" data-claire-element-id="2045706">
<li id="r-1923544" data-claire-element-id="2045701">
<p id="r-1923543" data-claire-element-id="2045700">L&rsquo;utilisateur charge la page Web ;</p>
</li>
<li id="r-1923546" data-claire-element-id="2045703">
<p id="r-1923545" data-claire-element-id="2045702">Il est ensuite invité à taper son âge dans une fenêtre d&rsquo;interaction ;</p>
</li>
<li id="r-1923548" data-claire-element-id="2045705">
<p id="r-1923547" data-claire-element-id="2045704">Une fois l&rsquo;âge fourni l&rsquo;utilisateur obtient un petit commentaire.</p>
</li>
</ul>
<h4 id="r-1923580" class="hoveredCourseElement" data-claire-element-id="8414879">Correction:</h4>
<p style="padding-left: 60px;">var age = parseInt(prompt(&lsquo;Quel est votre âge ?&rsquo;)); // Ne pas oublier : il faut « parser » (cela consiste à analyser) la valeur renvoyée par prompt() pour avoir un nombre !</p>
<p style="padding-left: 60px;">if (age &lt;= 0) { // Il faut bien penser au fait que l&rsquo;utilisateur peut rentrer un âge négatif</p>
<p style="padding-left: 60px;">alert(« Oh vraiment ? Vous avez moins d&rsquo;un an ? C&rsquo;est pas très crédible =p »);</p>
<p style="padding-left: 60px;">} else if (1 &lt;= age &amp;&amp; age &lt; 18) {</p>
<p style="padding-left: 60px;">alert(« Vous n&rsquo;êtes pas encore majeur. »);</p>
<p style="padding-left: 60px;">} else if (18 &lt;= age &amp;&amp; age &lt; 50) {</p>
<p style="padding-left: 60px;">alert(&lsquo;Vous êtes majeur mais pas encore senior.&rsquo;);</p>
<p style="padding-left: 60px;">} else if (50 &lt;= age &amp;&amp; age &lt; 60) {</p>
<p style="padding-left: 60px;">alert(&lsquo;Vous êtes senior mais pas encore retraité.&rsquo;);</p>
<p style="padding-left: 60px;">} else if (60 &lt;= age &amp;&amp; age &lt;= 120) {</p>
<p style="padding-left: 60px;">alert(&lsquo;Vous êtes retraité, profitez de votre temps libre !&rsquo;);</p>
<p style="padding-left: 60px;">} else if (age &gt; 120) { // Ne pas oublier les plus de 120 ans, ils n&rsquo;existent probablement pas mais on le met dans le doute</p>
<p style="padding-left: 60px;">alert(« Plus de 120 ans ?!! C&rsquo;est possible ça ?! »);</p>
<p style="padding-left: 60px;">} else { // Si prompt() contient autre chose que les intervalles de nombres ci-dessus alors l&rsquo;utilisateur a écrit n&rsquo;importe quoi</p>
<p style="padding-left: 60px;">alert(« Vous n&rsquo;avez pas entré d&rsquo;âge ! »);</p>
<p style="padding-left: 60px;">}</p>
<h3>Autre exercice:</h3>
<p>Quelle heure sera-t-il dans une seconde?</p>
<p><img class="size-full wp-image-1927 aligncenter" src="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-10.54.14.png" alt="" width="1090" height="924" srcset="https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-10.54.14.png 1090w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-10.54.14-300x254.png 300w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-10.54.14-768x651.png 768w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-10.54.14-1024x868.png 1024w, https://wp.gwd-france.com/wp-content/uploads/2018/12/Capture-d’écran-2018-12-09-à-10.54.14-850x721.png 850w" sizes="(max-width: 1090px) 100vw, 1090px" /></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
