Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/07/2011, 15h34   #1
Membre régulier
 
Avatar de Tora21
 
Homme
Développeur("Java"); //Débutant
Inscription : mai 2011
Messages : 140
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur("Java"); //Débutant

Informations forums :
Inscription : mai 2011
Messages : 140
Points : 85
Points : 85
Par défaut Début en Javascript

Bonjour je débute en javascript,

j'essaye de faire une "sorte" de calculette, je vous explique sur la page html il n'y a qu'un bouton, et en cliquant dessus sa lance les fonctions, une première pour enregistrer 2 nombres, puis 4 pour +, -, *, /, et une dernière pour l'affichage.

Je cherche pas a faire quelque chose de propres je cherche juste a bien comprendre les fonction en Js, donc si vous voyez l'erreur, pouvez-vous me la signaler?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
 
  <title>Exercice</title>
 
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
 
<body>
	<script type="text/javascript" >
		<!--
			function calculatrice()
			{
				var resultat;
				var nombre1;
				var nombre2;
 
				function saisie(nb1,nb2)
				{
					nb1 = prompt("Saisissez le premier nombre.","nombre");
					nb2 = prompt("Saisissez le second nombre.","nombre");
 
					return [nb1,nb2];
				}
 
				function addition(res,nb1,nb2)
				{
					res = nb1 + nb2;
					return res;
				}
 
				function soustraction(res,nb1,nb2)
				{
					res = nb1 - nb2;
					return res
				}
 
				function multiplication(res,nb1,nb2)
				{
					res = nb1 * nb2;
					return res
				}
 
				function division(res,nb1,nb2)
				{
					res = nb1 / nb2;
					return res
				}
 
				function affichage(res)
				{
					alert("Resultat : "+res);
				}
 
				saisie(nombre1,nombre2);
				addition(resultat,nombre1,nombre2);
				soustraction(resultat,nombre1,nombre2);
				multiplication(resultat,nombre1,nombre2);
				division(resultat,nombre1,nombre2);
				affichage(resultat);
			}
		//-->
	</script>
	<br /><br /><br /><br />
	<center><input type="submit" value="calculatrice" onclick="calculatrice();"/></center>
</body>
__________________
Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

-Perceval-
Tora21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 16h32   #2
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
Salut !
Tu as fait du C non ? ^^ J'ai l'impression que tu essayes de manipuler les arguments de tes fonctions comme les pointeurs de C.

En JavaScript les choses sont bien plus simples (enfin, question d'habitude je pense ). Les arguments sont en général (*) passés par copie :
Code JS :
1
2
3
4
5
function f(a, b) {
   return a + b;
}
var x = f(2, 3);
// x reçoit la valeur 5
Les arguments se comportent exactement comme des variables locales.

Dans ton cas, tu fais la même erreur plusieurs fois : tu n'utilises pas la valeur de retour de tes fonctions. Tu les appelles comme si elles étaient « void ».

Code JS :
1
2
3
4
5
6
7
8
9
10
11
12
13
function addition(res,nb1,nb2)
{
   res = nb1 + nb2;
   // l'argument "res" a été modifié, mais pas la variables "resultat"
   return res;
}
 
...
 
addition(resultat,nombre1,nombre2);
// il faudrait faire :
// resultat = addition(resultat,nombre1,nombre2);
// du coup, le 1er paramètre ne sert à rien


(*) Je dis en général, en fait ça dépend du type, et c'est comme en Java :
– les types primitifs : nombre, booléen, chaîne, sont passés par copie ;
– les tableaux, les fonctions et les objets sont passés par référence.

Il y a un moyen simple de vérifier ça en JavaScript :
Code JS :
1
2
3
4
5
6
7
8
9
10
11
function verifier( arg ) {
   arg.test = 'ok';
}
 
var nombre = 42;
verifier(nombre);
alert(nombre.test); // undefined => les nombres sont passés par copie
 
var tableau = [];
verifier(tableau);
alert(tableau.test); // "ok" => les tableaux sont passés par référence
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/07/2011, 16h33   #3
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 074
Points : 4 074
Là, tu n'utilises ni les paramètres fournis aux fonctions ni les valeurs retournées : tout fonctionne sur les globales...

Tu as un problème à résoudre en rapport avec l'extrait fourni ?
Ou tu veux des conseils généraux sur la manière dont c'est écrit ?

edit : cramé par Watilin

Une autre manière d'en avoir le coeur net, le code suivant est équivalent au tien, j'ai simplement retiré ce qui ne servait pas tout en conservant la structure choisie :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function calculatrice() {
   function saisie() {
      nb1 = prompt("Saisissez le premier nombre.","nombre");
      nb2 = prompt("Saisissez le second nombre.","nombre");
   }
   function addition() {
      res = nb1 + nb2;
   }
   function soustraction() {
      res = nb1 - nb2;
   }
   function multiplication() {
      res = nb1 * nb2;
   }
   function division() {
      res = nb1 / nb2;
   }
   function affichage() {
      alert("Resultat : "+res);
   }
   saisie();
   addition();
   soustraction();
   multiplication();
   division();
   affichage();
}
...mais ne pense pas que je te conseille cette manière de faire, hein

Simplement, c'est pour te montrer que tu fais simplement du procédural de cette manière, tes appels de fonction ne sont que des simili-goto ^^
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/07/2011, 20h00   #4
Membre régulier
 
Avatar de Tora21
 
Homme
Développeur("Java"); //Débutant
Inscription : mai 2011
Messages : 140
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur("Java"); //Débutant

Informations forums :
Inscription : mai 2011
Messages : 140
Points : 85
Points : 85
Je vous remercie de vos réponse, alors je ne fait pas de C mais du Java, et effectivement je pensais que l'ion pouvais travailler un peu de la même manière les variables, mais j'ai quelques soucis de compréhension.

RomainVALERI --> Merci pour ta modification de mon code, il m'aide à voir un aspect du traitement des variable et des fonctions. Toutefois, je voulais travailler dans mon code, le passage de paramètre et les valeurs de retours des fonctions. Et autre chose comment se fait-il que tu ne déclare pas tes variables?

Watilin --> Merci pour tes explications, mais pourrait tu reprendre mon code et le modifier a ta façon que je compare avec le mien, parce que je ne comprend pas le passage de paramètre. Je met en paramètre dans mes fonction res, nb1 et nb2, mais je valorise les variables global resultat, nombre1 et nombre2, et lorsque j'appel les fonction je leur donne en argument resultat, nombre1 et nombre2. euh.... je suis pomé, pour le coup c'est moin chiant en Java
__________________
Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

-Perceval-
Tora21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 21h45   #5
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 074
Points : 4 074
Citation:
Envoyé par Tora21 Voir le message
RomainVALERI --> Merci pour ta modification de mon code, il m'aide à voir un aspect du traitement des variable et des fonctions. Toutefois, je voulais travailler dans mon code, le passage de paramètre et les valeurs de retours des fonctions. Et autre chose comment se fait-il que tu ne déclare pas tes variables?
C'est précisément ce que je voulais te montrer ^^ Comme les variables n'ont pas été déclarées, la première initialisation "vaut" pour déclaration implicite, au niveau global. A chaque fois une propriété de l'objet window est automatiquement créée à cet effet (window.resultat, window.nb1, window.nb2).

D'où l'intérêt de toujours les déclarer avec l'opérateur var, mais comme tu viens du Java, ce n'est pas ça qui devrait te poser un souci Ca permettra de toujours connaitre précisément la portée de tes variables et d'éviter les confusions. Ca fait partie des "libertés" dangereuses de Javascript (Watilin pourra t'en parler il en connait bien plus que moi sur ce point et il est assez remonté contre ce genre de permissivités intempestives ^^)

Autre chose : la fonction prompt (qui, elle aussi, est en fait une propriété de window : window.prompt() ^^) renvoie une chaine. Si tu veux faire des opérations numériques sans te jeter aveuglément dans les flammes de la conversion implicite automatique , utilise parseInt sur le résultat pour obtenir un Number
Code :
1
2
var nb1 = parseInt(prompt("Saisissez le premier nombre.","nombre"), 10);// "10" pour la base de conversion (décimale)
// ou parseFloat pour des réels
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 09h11   #6
Membre régulier
 
Avatar de Tora21
 
Homme
Développeur("Java"); //Débutant
Inscription : mai 2011
Messages : 140
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur("Java"); //Débutant

Informations forums :
Inscription : mai 2011
Messages : 140
Points : 85
Points : 85
ah ben c'est sur la connaissance des variables en java va m'aider a rester dans le droit chemin avec JavaScript. C'est vrai que c'est bizarre de laisse open ce maniement des variables. Merci pour ces infos complémentaires ^^.

Voila ou j'en suis rester sur cet exercice:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
<body>
	<script type="text/javascript" >
		<!--
			function calculatrice()
			{
				var resultat;
				var nombre1;
				var nombre2;
 
				saisie(nombre1,nombre2);
 
				function saisie(nb1,nb2)
				{
					nb1 = prompt("Saisissez le premier nombre.","nombre");
					nb2 = prompt("Saisissez le second nombre.","nombre");
 
					return [nb1,nb2];
				}
 
				function addition(res,nb1,nb2)
				{
					res = nb1 + nb2;
					return res;
				}
 
				function soustraction(res,nb1,nb2)
				{
					res = nb1 - nb2;
					return res
				}
 
				function multiplication(res,nb1,nb2)
				{
					res = nb1 * nb2;
					return res
				}
 
				function division(res,nb1,nb2)
				{
					res = nb1 / nb2;
					return res
				}
 
				function affichage(res)
				{
					alert("Resultat : "+res);
				}
 
 
				addition(resultat,nombre1,nombre2);
				soustraction(resultat,nombre1,nombre2);
				multiplication(resultat,nombre1,nombre2);
				division(resultat,nombre1,nombre2);
				affichage(resultat);
			}
		//-->
	</script>
	<br /><br /><br /><br />
	<center><input type="submit" value="calculatrice" onclick="calculatrice();"/></center>
</body>
Mais ça ne fonctionne toujours pas.
__________________
Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

-Perceval-
Tora21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 09h21   #7
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 686
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 686
Points : 5 756
Points : 5 756
Bonjour,

Vous passez nombre1 et nombre2 mais vous retournez nb1 et nb2 qui ne sont recueillis par personne :

Code :
1
2
3
4
5
6
7
8
9
10
 
saisie(nombre1,nombre2);
 
function saisie(nb1,nb2)
{
      nb1 = prompt("Saisissez le premier nombre.","nombre");
      nb2 = prompt("Saisissez le second nombre.","nombre");
 
      return [nb1,nb2];
}
Du coup lorsque vous appelez addition(resultat,nombre1,nombre2);, nombre1 et nombre2 sont toujours null. Et c'est pareil avec resultat, et ainsi de suite.

Vos return sont inutils. Vos variables "internes" nb1, nb2, res aussi. Remplacez nb1 par nombre1, etc.
__________________
Elen Poukram - Isegoria - Sandawe
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 09h42   #8
Membre régulier
 
Avatar de Tora21
 
Homme
Développeur("Java"); //Débutant
Inscription : mai 2011
Messages : 140
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur("Java"); //Débutant

Informations forums :
Inscription : mai 2011
Messages : 140
Points : 85
Points : 85
vermine --> Si je suis votre exemple, le passage de paramètre et les valeurs de retours deviendront inutiles, n'est-ce pas? Mais je souhaiterais travailler et surtout comprendre ces élément en JavaScript.

Pour tenter de comprendre mieux, je vous explique comment j'ai l'habitude de procéder en Java, et peut-être vous pourriez me montré les différence avec le JavaScript.

en java je ferais (en rapide bien sur):
Code :
1
2
3
4
5
6
7
8
9
10
 
int number1;
int number2;
int resultat;
 
public static int addition(int nb1, int nb2)
{
    int res = nb1 + nb2;
    return res;
}
Et lorsque j'appel ma méthode:
Code :
1
2
 
resultat = maClasse.addition(this.number1,this.number2);
Comment ferai-t-on en JavaScript?
__________________
Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

-Perceval-
Tora21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 09h44   #9
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
à part ça, le but c'est d'avoir les 4 résultats d'opérations affichés ou bien?
__________________
On ne mord pas, on manifeste seulement notre tristesse face à des exposés de situations qui défient notre entendement binaire.
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 09h47   #10
Membre régulier
 
Avatar de Tora21
 
Homme
Développeur("Java"); //Débutant
Inscription : mai 2011
Messages : 140
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur("Java"); //Débutant

Informations forums :
Inscription : mai 2011
Messages : 140
Points : 85
Points : 85
Non pas du tous, mais en fait j'ai oublié de mettre en commentaire, je laissai, la fonction addition et affiche
__________________
Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

-Perceval-
Tora21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 10h00   #11
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 686
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 686
Points : 5 756
Points : 5 756
C'est le même principe qu'en Java. Je suis d'accord avec votre fonction addition, mais c'est la fonction saisie qui pose problème parce que nb1 n'est jamais mis dans nombre1.
__________________
Elen Poukram - Isegoria - Sandawe
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 10h16   #12
Membre régulier
 
Avatar de Tora21
 
Homme
Développeur("Java"); //Débutant
Inscription : mai 2011
Messages : 140
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur("Java"); //Débutant

Informations forums :
Inscription : mai 2011
Messages : 140
Points : 85
Points : 85
Voila comment j'ai procédé:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
<script type="text/javascript" >
<!--
	function calculatrice()
	{
	        var resultat;
		var nombre1;
		var nombre2;
 
		nombre1 = saisie();
		nombre2 = saisie2();
 
		function saisie()
		{
			nb1 = parseInt(prompt("Saisissez le premier nombre.","nombre"));
			return nb1;
		}
		function saisie2()
		{
			nb2 = parseInt(prompt("Saisissez le premier nombre.","nombre"));
			return nb2;
		}
 
		function addition(nb1,nb2)
		{
			res = nb1 + nb2;
			return res;
		}
 
		function affichage(res)
		{
			alert("Resultat : "+res);
		}
 
 
		resultat = addition(nombre1,nombre2);
		affichage(resultat);
	}
//-->
</script>
Mais du coup si je met plusieurs boutons un correspondant à chaque type de calcul (+,-,*,/), comment je donnerais à résultat la bonne valeur.
Et nb1, nb2, et res sont des global du coup si j'en crois les explications de RomainVALERI?
Citation:
Comme les variables n'ont pas été déclarées, la première initialisation "vaut" pour déclaration implicite, au niveau global.
__________________
Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

-Perceval-
Tora21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 10h17   #13
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 074
Points : 4 074
Citation:
Envoyé par Tora21 Voir le message
Et lorsque j'appel ma méthode:
Code :
1
2
 
resultat = maClasse.addition(this.number1,this.number2);
Comment ferai-t-on en JavaScript?
Ben la même chose

En Java, si tu ne stockes pas la valeur de retour... ça n'ira pas bien loin non plus
Code :
1
2
 
maClasse.addition(this.number1,this.number2);// wtf
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 10h20   #14
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 686
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 686
Points : 5 756
Points : 5 756
Pour les variables, je laisse répondre Romain.

La notion d'orienté objet n'est pas totalement la même qu'en Java. Il y a des exemples sur le forums mais je ne sais plus trop où.
__________________
Elen Poukram - Isegoria - Sandawe
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 18h46   #15
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
Voilà ma version, j'utilise uniquement les valeurs de retour.
Code JS :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
function calculatrice()
{
   var resultat;
   var nombre1;
   var nombre2;
 
   function saisie()
   {
      var nb1 = prompt("Saisissez le premier nombre.","nombre");
      var nb2 = prompt("Saisissez le second nombre.","nombre");
 
      return [nb1,nb2];
   }
 
   function addition(nb1,nb2)
   {
      return nb1 + nb2;
   }
 
   function soustraction(nb1,nb2)
   {
      return nb1 - nb2;
   }
 
   function multiplication(nb1,nb2)
   {
      return nb1 * nb2;
   }
 
   function division(nb1,nb2)
   {
      return nb1 / nb2;
   }
 
   function affichage(res)
   {
      alert("Resultat : "+res);
   }
 
   var tableau = saisie();
   nombre1 = tableau[0];
   nombre2 = tableau[1];
 
   resultat = addition(nombre1,nombre2);
   resultat = soustraction(nombre1,nombre2);
   resultat = multiplication(nombre1,nombre2);
   resultat = division(nombre1,nombre2);
   affichage(resultat);
}
Il faut voir les fonctions comme un stagiaire dans une grosse entreprise ^^ On lui demande un travail, on lui donne des documents (les arguments) et il produit un résultat (la valeur de retour). Et en général (*), il n'a pas le droit de garder les documents qu'on lui donne, alors il en fait des photocopies pour pouvoir travailler avec…
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/07/2011, 19h21   #16
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 941
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 941
Points : 4 767
Points : 4 767
Citation:
Envoyé par Watilin Voir le message
Il faut voir les fonctions comme un stagiaire dans une grosse entreprise ^^ On lui demande un travail, on lui donne des documents (les arguments) et il produit un résultat (la valeur de retour). Et en général (*), il n'a pas le droit de garder les documents qu'on lui donne, alors il en fait des photocopies pour pouvoir travailler avec…
j' bien ...

il manque le (*) non?
NoSmoking est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 20h42   #17
Membre chevronné
 
Homme Krusty
Inscription : mai 2009
Messages : 472
Détails du profil
Informations personnelles :
Nom : Homme Krusty
Localisation : France

Informations forums :
Inscription : mai 2009
Messages : 472
Points : 617
Points : 617
j'ai NAN comme resultat c'est normale ?
__________________
programmer n'est pas connaitre tous les moindres détails d'un langage mais savoir exploiter sous toutes ses facettes ce que l'on connait.
mekal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 20h49   #18
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 074
Points : 4 074
Citation:
Envoyé par mekal Voir le message
j'ai NAN comme resultat c'est normale ?
lapsus de Watilin (il en fait peu )

il n'y a que deux postes dans le tableau retourné par saisie(), il faut y accéder par 0 et 1, pas 1 et 2
Code :
1
2
nombre1 = tableau[0];
nombre2 = tableau[1];
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 21h23   #19
Membre chevronné
 
Homme Krusty
Inscription : mai 2009
Messages : 472
Détails du profil
Informations personnelles :
Nom : Homme Krusty
Localisation : France

Informations forums :
Inscription : mai 2009
Messages : 472
Points : 617
Points : 617
adjugé vendu pour la prochaine j'ouvrirait mieux les yeux
__________________
programmer n'est pas connaitre tous les moindres détails d'un langage mais savoir exploiter sous toutes ses facettes ce que l'on connait.
mekal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 23h35   #20
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
Ah oui. Euh… Oups ^^ Mais c'est parce que j'aime bien NaN…

J’édite mon code pour plus de clarté

Citation:
Envoyé par NoSmoking Voir le message
il manque le (*) non?
C'est le même que mon post d'au-dessus
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h53.


 
 
 
 
Partenaires

Hébergement Web