Aide sur fonctionnement de programmes javascript

Résolu
nathoufix Messages postés 30 Statut Membre -  
nathoufix Messages postés 30 Statut Membre -
Bonjour,
Me lançant dans le code j'ai commencé par la programmation web (html et css) que je maitrise!
Mais j'ai vite voulu essayer des programmes plus compliqué à intégrer dans mes pages web.
Des lignes de code en Javascript, très courtes, sauf que je ne comprends pas comment ça fonctionne.
Puis-je les envoyer pour que quelqu'un m'expliquer concrètement à quoi servent ces lignes et ces fonctions?
Cordialement.

9 réponses

    1. nathoufix Messages postés 30 Statut Membre
       
      Super gentil! Merci :)
      0
  1. nathoufix Messages postés 30 Statut Membre
     
    Merci, voici le code (générateur de caractères aléatoire):

    function generate(){
    
        let complexity = document.getElementById("slider").value;
    
        let values = "ABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyz1234567890!@#$%ù:_§^&*()_+";
    
        let password = "";
    
        for(var i = 0; i <= complexity; i++){
            password = password + values.charAt(Math.floor(Math.random() * Math.floor(values.length - 1)));
        }
    
        document.getElementById("display").value = password;
    
        document.getElementById("lastNums").innerHTML += password + "<br />";
    
    }
    
    document.getElementById("length").innerHTML = "Taille: 25";
    
    document.getElementById("slider").oninput = function(){
    
        if(document.getElementById("slider").value > 0){
            document.getElementById("length").innerHTML = "Taille: " + document.getElementById("slider").value;
        }
        else{
            document.getElementById("length").innerHTML = "Taille: 1";
        }
    
    }
    
    function copyPassword(){
    
        document.getElementById("display").select();
    
        document.execCommand("Copy");
    
        alert("Mots de passe copié");
    
    }
    
    0
    1. narwouid
       
      Salut,
      qu'est ce que vous ne comprenez pas?
      Une fonction est une ou plusieurs instructions regroupées dans un but précis. Un but peut-être un peu tout ce qu'on veux ou plutôt on a besoin dans le fonctionnement du programme.
      HTML et CSS ne sont pas de la programmation et s'ils sont des langages informatique sont dits descriptifs. Une description c'est différent d'une action, en cela la programmation qui manipule des données(variables) et permet de créer des cheminements logiques(algorithmes) incluant des tests et comparaisons ainsi que des répétitions automatisées est très différente de langage descriptifs que sont HTML et CSS.
      0
    2. narwouid
       
      Les fonctions sont la base de la programmation. Elles sont internes au langage(prédéfinies) comme des fonctions ou bien crée par le développeur pour une tâche spécifique. En JavaScript qui est un langage de script et surtout fortement Objet(voir définition Programmation Orientée Objet POO ou OOP en anglais) les fonctions sont souvent internes à un objet(structure de données regroupant une thématique) et dans ce cas sont appelées méthodes.
      On parle de notation pointée car l'accès aux méthodes d'un objet se fait par l'intermédiaire d'un point(symbole ' . ') suivit du nom de la méthode à utiliser. Chaque point est donc l'appel à une méthode interne à l'objet.

      Pour le reste et comme il est inutile de connaître par cœur exactement chaque fonction et méthodes (mais c'est bien de savoir qu'elles existent et cela vient aisément à force de les utiliser) il vous suffit de consulter un manuel ou lexique contenant le détail de l'utilisation et utilité de chaque fonction et méthodes prédéfinies qui sont en fait les éléments du langage.On parle de langage car le principe est de "s'adresser" à l'ordinateur par le moyen d'instructions ou lignes de codes(la ligne comme le point-virgule étant fréquemment un moyen de séparer chaque instruction pour au moins une clarté de lecture et écriture du langage).
      Une fonction comme les variables(espace de stockage d'une information ou valeur) une fois définies peuvent être utilisées indéfiniment selon le contexte. Parmi le contexte il faut différencier des niveaux où existent chaque élément du langage. Par exemple dans une fonction sauf indication du contraire chaque valeur(variable) est interne à la fonction et donc n'existe que pendant l'exécution de celle ci, cela se nomme le 'scope' qui définit un contexte interne. Il n'y a pas de limite à l'imbrication de ces 'scopes' les uns aux autres tout comme c'est le cas pour les objets qui peuvent définir des objets composés d'objets composés eux même d'objets...idem pour les fonctions où la notion de récursivité est présente(une répétition possible à l'infini d'une même règle(la fonction) à différentes valeurs et contextes(variables et objets).

      Pour le reste si vous débutez vous feriez mieux de potasser les cours de débutants et tutos disponibles sur le net, par des bouquins ou autres ...bref apprendre par de nombreuses façons et possibles et sera mieux que mes explications car fait appel à la pratique concrète via les exemples et exercices de ces cours ou cas pratiques expliqués à appliquer.

      Ainsi que vous tourner vers les manuels et autres lexiques décrivant chaque élément existant et syntaxe et utilisation de ceux ci(comme les fonctions , objets et structures de données et de logiques - par logique c'est la logique mathématique, informatique et de programmation dont je parle, voir par exemple les mathématiques de Boole qui s'appuient sur les états vrai/faux ou oui/non d'une valeur, le fameux système binaire qui est à la base de l'électronique).
      Pour les manuels (d'utilisation de l'outil technique langage de programmation JavaScript)voir ici
      https://developer.mozilla.org/fr/docs/Web/JavaScript/Guide
      et ici
      https://www.w3schools.com/jsref/default.asp

      Il suffit d'y chercher le nom des méthodes et fonctions dont vous avez besoin où que vous ne comprenez pas. Bien sûr avant d'aller voir le dictionnaire c'est utile de connaître les bases de syntaxe , grammaire et autres structures formant le langage(test, comparaisons , boucle, différents types et structures de données...) donc go --->tuto Débutant.
      0
  2. nathoufix Messages postés 30 Statut Membre
     
    Merci beaucoup pour votre aide!!
    0
  3. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  4. nathoufix Messages postés 30 Statut Membre
     
    Malgré votre aide, je ne comprends pas cette ligne :

    password = password + values.charAt(Math.floor(Math.random() * Math.floor(values.length - 1)));
    0
  5. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    0
  6. nathoufix Messages postés 30 Statut Membre
     
    Merci je vais jeter un œil à ça !
    0
  7. nathoufix Messages postés 30 Statut Membre
     
    Mais, du coup cette ligne sert à quoi ?

    for(var i = 0; i <= complexity; i++){
    0
  8. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Ben.. a alimenter le password du nombre de caractères voulu....

    Autrement dit :

    complexite = 10
    Boucle de 1 à complexite (soit...10)
    a chaque tour de boucle... je choisi un caractère de façon aléatoire et je l'ajoute à la variable password


    Par exemple

    1 er tour de la boucle.. je tire le A
    Donc password = A

    Puis au dexième tour.. je tire le x
    Le password devient Ax

    Troisième tour.. le C
    Password devient AxC

    etc...
    0
    1. nathoufix Messages postés 30 Statut Membre
       
      Mais comment on sait que complexity = 10?
      0
    2. nathoufix Messages postés 30 Statut Membre
       
      Et la variable complexity sert à quoi ?
      Désolé, mais j’ai compris tout le reste sinon

      Correction : j’ai compris c’est bon
      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > nathoufix Messages postés 30 Statut Membre
         
        Dans ce cas... met le sujet en RESOLU.
        0
    3. nathoufix Messages postés 30 Statut Membre
       
      Merci pour votre aide
      0