IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

D�but en Javascript


Sujet :

JavaScript

  1. #21
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut veuillez m'excuser par avance pour ce tr�s flagrant hors sujet ^^
    Citation Envoy� par Watilin Voir le message
    Ah oui. Euh� Oups ^^ Mais c'est parce que j'aime bien NaN
    ...et bon app�tit ! (et ben voil� tu m'as donn� faim )

  2. #22
    Membre confirm� Avatar de Tora21
    Homme Profil pro
    D�veloppeur("Java"); //D�butant
    Inscrit en
    Mai 2011
    Messages
    140
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France, C�te d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Par d�faut
    Avec vos conseils et aides, voila ce que j'ai r�alis�:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
    69
    70
     
    <body>
    	<script type="text/javascript" >
    		<!--
    			function calculatrice()
    			{
    				var resultat;
    				var nombre1;
    				var nombre2;
    				var type;
     
    				type = saisieSigne();
    				nombre1 = saisie();
    				nombre2 = saisie2();
     
    				function saisieSigne(){
    					return signe = prompt("Quel type d'operation voulez-vous faire ? (+,-,*,/)");
    				}
     
    				function saisie(){
    					nb1 = parseInt(prompt("Saisissez le premier nombre.","nombre"));
    					return nb1;
    				}
    				function saisie2(){
    					nb2 = parseInt(prompt("Saisissez le premier nombre.","nombre"));
    					return nb2;
    				}
     
    				if (type == "+"){
    					function addition(nb1,nb2)
    					{
    						res = nb1 + nb2;
    						return res;
    					}
    					resultat = addition(nombre1,nombre2);
    				} else if (type == "-"){
    					function soustraction(nb1,nb2)
    					{
    						res = nb1 - nb2;
    						return res;
    					}
    					resultat = soustraction(nombre1, nombre2);
    				} else if (type == "*"){
    					function multiplication(nb1,nb2)
    					{
    						res = nb1 * nb2;
    						return res;
    					}
    					resultat = multiplication(nombre1, nombre2);
    				} else if (type == "/") {
    					function division(nb1,nb2)
    					{
    						res = nb1 / nb2;
    						return res;
    					}
    					resultat = division(nombre1, nombre2);
    				}
     
    				function affichage(res)
    				{
    					alert("Resultat : "+res);
    				}
     
    				affichage(resultat);
    			}
    		//-->
    	</script>
    	<br /><br /><br /><br />
    	<center><input type="submit" value="calculatrice" onclick="calculatrice();"/></center>
    </body>
    Si vous avez des conseils pour am�liorer un peu n'h�sitez pas.

  3. #23
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    Pareil ^^ tu utilises ici des variables globales inutiles...

    Je proposerais quelques simplifications :
    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    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
             function calculatrice() {
                var resultat;
                var nombre1;
                var nombre2;
                var type;
     
                type = saisieSigne();
                nombre1 = saisie("Saisissez le premier nombre.");
                nombre2 = saisie("Saisissez le deuxième nombre.");
     
                function saisieSigne() {
                   return prompt("Quel type d'operation voulez-vous faire ? (+,-,*,/)");
                } 
                function saisie(message) {
                   return parseInt(prompt(message, "nombre"), 10);
                }
                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);
                }
     
                switch (type) {
                   case "+": resultat = addition(nombre1, nombre2);
                   case "-": resultat = soustraction(nombre1, nombre2);
                   case "*": resultat = multiplication(nombre1, nombre2);
                   case "/": resultat = division(nombre1, nombre2);
                }
                affichage(resultat);
             }

  4. #24
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Citation Envoy� par Tora21
    Si vous avez des conseils pour am�liorer un peu n'h�sitez pas.
    J'avoue qu'il y en aurait pas mal

    Tout d'abord, l'int�r�t d'une fonction est de pouvoir ex�cuter plusieurs fois la m�me portion de code. Donc faire une fonction
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    function saisie(){
    	nb1 = parseInt(prompt("Saisissez le premier nombre.","nombre"));
    	return nb1;
    }
    c'est bien, mais � quoi sert la fonction saisie2() qui fait exactement la m�me chose ???
    Ensuite, vu que tu peux passer des arguments � une fonction, saisieSigne() devient aussi superf�tatoire ()
    Et surtout, d�finir une fonction qui refait exactement la m�me chose qu'une m�thode native, c'est bien mais pas top

    Ensuite, une variable sert � stocker une donn�e, mais stocker une donn�e qui va �tre d�truite � l'instruction suivante a ma foi assez peu d'int�r�t, donc saisie() peut facilement devenir
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    function saisie(texte, valeur){
        return prompt(texte, valeur);
    }
    Autre chose
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    if (type == "+"){
    	function addition(nb1,nb2){
    		res = nb1 + nb2;
    		return res;
    	}
    	resultat = addition(nombre1,nombre2);
    }
    A part le plaisir masochiste de se faire de noeuds � l'enc�phale, je comprends difficilement l'int�r�t de d�finir une fonction puis une variable qui r�cup�rera le r�sultat de la fonction pour le retourner imm�diatement...
    Ne crois-tu pas que
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    if (type == "+"){
    	return nb1 + nb2;
    }
    est plus simple

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    function calculatrice(){
        var nb1 = prompt('Entrez le premier nombre', 'Nombre');
        var nb2 = prompt('Entrez le deuxième nombre', 'Nombre');
        switch(prompt('Quelle opération ?', '+,-,*,/'){
            case '+':
                alert(parseInt(nb1, 10) + parseInt(nb2, 10));
                return;
            case '-':
                alert(nb1 - nb2);
                return;
            case '*':
                alert(nb1 * nb2);
                return;
            case '/':
                alert(nb1 / nb2);
                return;
            default:
                alert('Erreur de saisie...');
                calculatrice();
        }
    }
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  5. #25
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    Ne nous arr�tons pas en si bon chemin
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function calculatrice() {
       var resultat, type, nombre1, nombre2;
       var Operations = {
          "+": function (nb1,nb2) { return (nb1 + nb2); },
          "-": function (nb1,nb2) { return (nb1 - nb2); },
          "*": function (nb1,nb2) { return (nb1 * nb2); },
          "/": function (nb1,nb2) { return (nb1 / nb2); }
       };
       function saisieSigne() { return prompt("Quel type d'operation voulez-vous faire ? (+,-,*,/)"); } 
       function saisie(message) { return parseInt(prompt(message, "nombre"), 10); }
       function affichage(res) { alert("Resultat : " + res); }
     
       type = saisieSigne();
       nombre1 = saisie("Saisissez le premier nombre.");
       nombre2 = saisie("Saisissez le deuxième nombre.");
       resultat = Operations[type](nombre1, nombre2);
       affichage(resultat);
    }
    edit : le code ci-dessus constitue un retour en arri�re par rapport aux remarques de bon sens de Bovino, mais j'�tais pris dans mon �lan de factorisation, ind�pendamment du pragmatisme g�n�ral (le "pour quoi faire ?")

    Etant donn� que l'id�e du post initial �tait d'apprendre � manipuler les fonctions... ^^

    --- (ci-dessous, suppl�ment hors-sujet)

    Citation Envoy� par Bovino
    superf�tatoire ()
    Attends ne me dis rien... Vous faites une sorte de loto avec des copains et tu devais essayer de placer celui-l� quelque part... Bravo c'�tait pas �vident ^^

  6. #26
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Code JS : S�lectionner tout - Visualiser dans une fen�tre � part
    eval(nombre1 + type + nombre2);
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  7. #27
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    Citation Envoy� par Watilin Voir le message
    Code JS : S�lectionner tout - Visualiser dans une fen�tre � part
    eval(nombre1 + type + nombre2);
    J'y ai pens� mais j'avais pas os�

  8. #28
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    c'est pour �a que j'ai pas voulu participer

  9. #29
    Membre confirm� Avatar de Tora21
    Homme Profil pro
    D�veloppeur("Java"); //D�butant
    Inscrit en
    Mai 2011
    Messages
    140
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France, C�te d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Par d�faut
    Eh ben je vois que �a vous motive mon post.

    J'ai encore am�lior� mon code avec des petits morceaux de RomainVALERI et Bovino. Mais la ton dernier affichage de code Romain ma donn� mal � la t�te je pense que je dois encore m'enfoncer un peu plus dans le javascript avant d'attaquer les r�ductions de code.

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 2 sur 2 Premi�rePremi�re 12

Discussions similaires

  1. JavaScript<---->ActionScript
    Par crazypiou dans le forum Flash
    R�ponses: 21
    Dernier message: 17/04/2009, 17h14
  2. Javascript, d�but & exercice
    Par Farr3ll dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 09/03/2009, 12h46
  3. javascript d�but difficile
    Par shyx21 dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 22/03/2008, 22h16
  4. D�but javascript : remplir une dropdownlist
    Par jbrasselet dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 16/05/2006, 15h43
  5. Toutes les bonnes choses ont un d�but ...
    Par Bols2000 dans le forum Algorithmes et structures de donn�es
    R�ponses: 4
    Dernier message: 22/08/2002, 17h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo