|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Développeur("Java"); //Débutant Inscription : mai 2011 Messages : 140 ![]() |
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 :
__________________
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- |
||
|
|
00
|
|
|
#2 | ||||||
|
Membre Expert
![]() Matilin TorreÉtudiant Inscription : juin 2010 Messages : 679 ![]() |
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 Code JS :
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 :
(*) 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 :
__________________
Disposition de clavier ergonomique française : Bépo |
||||||
|
|
10
|
|
|
#3 | ||
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
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 :
![]() 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 __________________ |
||
|
|
10
|
|
|
#4 |
|
Membre régulier
![]() Développeur("Java"); //Débutant Inscription : mai 2011 Messages : 140 ![]() |
Je vous remercie de vos réponse, alors je ne fait pas de C mais du Java
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- |
|
|
00
|
|
|
#5 | |||
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
Citation:
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 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 :
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
|||
|
|
00
|
|
|
#6 | ||
|
Membre régulier
![]() Développeur("Java"); //Débutant Inscription : mai 2011 Messages : 140 ![]() |
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 :
__________________
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- |
||
|
|
00
|
|
|
#7 | ||
![]() ![]() ![]() Inscription : mars 2008 Messages : 2 686 ![]() |
Bonjour,
Vous passez nombre1 et nombre2 mais vous retournez nb1 et nb2 qui ne sont recueillis par personne : Code :
Vos return sont inutils. Vos variables "internes" nb1, nb2, res aussi. Remplacez nb1 par nombre1, etc. |
||
|
|
00
|
|
|
#8 | ||||
|
Membre régulier
![]() Développeur("Java"); //Débutant Inscription : mai 2011 Messages : 140 ![]() |
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 :
Code :
__________________
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- |
||||
|
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() danseur Inscription : août 2003 Messages : 2 667 ![]() |
à 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. |
|
|
00
|
|
|
#10 |
|
Membre régulier
![]() Développeur("Java"); //Débutant Inscription : mai 2011 Messages : 140 ![]() |
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- |
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Inscription : mars 2008 Messages : 2 686 ![]() |
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.
|
|
|
00
|
|
|
#12 | |||
|
Membre régulier
![]() Développeur("Java"); //Débutant Inscription : mai 2011 Messages : 140 ![]() |
Voila comment j'ai procédé:
Code :
Et nb1, nb2, et res sont des global du coup si j'en crois les explications de RomainVALERI? Citation:
__________________
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- |
|||
|
|
00
|
|
|
#13 | |||||
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
Citation:
![]() En Java, si tu ne stockes pas la valeur de retour... ça n'ira pas bien loin non plus Code :
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
|||||
|
|
00
|
|
|
#14 |
![]() ![]() ![]() Inscription : mars 2008 Messages : 2 686 ![]() |
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ù. |
|
|
00
|
|
|
#15 | ||
|
Membre Expert
![]() Matilin TorreÉtudiant Inscription : juin 2010 Messages : 679 ![]() |
Voilà ma version, j'utilise uniquement les valeurs de retour.
Code JS :
__________________
Disposition de clavier ergonomique française : Bépo |
||
|
|
10
|
|
|
#16 | |
![]() ![]() Inscription : janvier 2011 Messages : 2 941 ![]() |
Citation:
j' bien ...il manque le (*) non? |
|
|
|
00
|
|
|
#17 |
|
Membre chevronné
![]() Krusty Inscription : mai 2009 Messages : 472 ![]() |
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. |
|
|
00
|
|
|
#18 | ||
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
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 :
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
||
|
|
00
|
|
|
#19 |
|
Membre chevronné
![]() Krusty Inscription : mai 2009 Messages : 472 ![]() |
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. |
|
|
00
|
|
|
#20 |
|
Membre Expert
![]() Matilin TorreÉtudiant Inscription : juin 2010 Messages : 679 ![]() |
Ah oui. Euh… Oups ^^ Mais c'est parce que j'aime bien NaN…
J’édite mon code pour plus de clarté C'est le même que mon post d'au-dessus
__________________
Disposition de clavier ergonomique française : Bépo |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com