Mais en très résumé, le HTML décrit le contenu d'une page. Le CSS décrit la mise en page de la page (couleurs, polices, tailles, etc). Le JS est du code qui permet de faire des choses dans la page, quand l'utilisateur clique sur un élément par exemple. C'est un langage qui peut aussi exister coté serveur, mais c'est plus rare et compliqué. Le PHP, c'est un langage coté serveur qui génère des pages HTML. Il permet par exemple d'avoir des pages adaptées pour afficher le nom de la personne connectée.
- Edité par Genroa 17 août 2018 à 1:34:09
/!\ Si je cesse de répondre c'est parce que vous êtes venus poster sans avoir suivi les cours de base sur le sujet. /!\
J'en suis aux exercices du chapitre sur les tableaux. Comme je n'ai pas réussi à réaliser le programme somme.js, je suis allé voir la solution. Elle fonctionne, bien sûr, mais... je ne la comprends pas.
var valeurs = [11, 3, 7, 2, 9, 10];
var max = valeurs[0];
for (i = 0; i < valeurs.length; i++) {
if (valeurs[i] > max) {
max = valeurs[i];
}
}
alert(max);
Quelque chose n'a pas dû passer de mon côté question boucles, parce que je ne comprends absolument pas comment celle-ci permet de repérer la valeur maximale.
Une âme charitable pour m'expliquer ?
- Edité par Héliogabale 21 août 2018 à 18:26:37
« Les miroirs et la copulation sont abominables, parce qu'ils multiplient le nombre des hommes. » (Borges)
Quelque chose n'a pas dû passer de mon côté question boucles, parce que je ne comprends absolument pas comment celle-ci permet de repérer la valeur maximale.
Bonjour Héliogabale,
la boucle ne permet pas de savoir quelle est la plus grande valeur de la variable valeurs.
La boucle parcourt simplement valeurs. C'est la condition à l'intérieur de la boucle que vérifie si la valeur "actuelle" est plus grand ou plus petit que la variable max.
Ce que fait le code que tu à écris plus haut :
Ligne 1 : déclaration et initialisation d'une variable valeurs
Ligne 3 : déclaration et initialisation d'une variable max. Variable qui vaut la 1ere valeur ... de valeurs
Ligne 4 : Parcours de tous les items de la variable valeurs
Ligne 5 : si l'item actuel est > à la variable max, alors
Ligne 6 : on affecte cet item à max
La variable max aura donc toujours la valeur la plus haute de la variable valeurs.
var valeurs = [11, 3, 7, 2, 9, 10];
var max = valeurs[0]; // On récupère le premier élément (ici 11) du tableau et on le stock dans la variable max.
for (i = 0; i < valeurs.length; i++) {
if (valeurs[i] > max) { // ici on vérifie que l’élément valeurs[i qui vaut 0] donc 11 et plus grand que 11, non alors on passe au deuxième tour, valeurs[i qui vaut 1] donc 3 et plus grand que 11 non et ainsi de suite
max = valeurs[i]; // Si la condition du if est vrai, on remplace max par la valeur de valeurs[i]
}
}
alert(max);
Vos réponses me rassurent : c'était le but que je n'avais pas saisi. Je pensais qu'il s'agissait de créer un programme capable de repérer lui-même la valeur maximale, et je trouvais absurde qu'il faille indiquer soi-même que celle-ci est 11 (et donc comparer le reste à l'élément 0).
Tant qu'à faire : est-il possible, à ce stade de l'apprentissage, de concevoir un programme capable de repérer lui-même la valeur maximale ? Je veux dire, sans indiquer soi-même que c'est la 1re. C'est ce que j'essayais de faire et ce à quoi je n'étais pas parvenu.
« Les miroirs et la copulation sont abominables, parce qu'ils multiplient le nombre des hommes. » (Borges)
Oui, c'est ce que fait le code que tu as poster plus haut !
var valeurs = [11, 3, 7, 2, 9, 10];
var max = valeurs[0];
for (i = 0; i < valeurs.length; i++) {
if (valeurs[i] > max) {
max = valeurs[i];
}
}
alert(max);
En fait, à la ligne 3, max prend la première valeur de l'array valeurs. Donc à cette ligne, max vaut 11 et 11 est la plus grande valeur de l'array.
Mais si tu modifies les valeurs dans l'array (ligne 1), admettons :
valeurs = [1, 11, 111, 100, 9];
et qu'on prend la suite du code postée plus haut, alors, à la ligne 3 max vaudra 1;
Pourtant, après la boucle, alert affichera bien 111 dans cet exemple.
var valeurs = [11, 3, 7, 2, 9, 10];
var max = -Infinity; // On récupère le premier élément du tableau et on le stock dans la variable max.
for (i = 0; i < valeurs.length; i++) {
if (valeurs[i] > max) { // ici on vérifie que l’élément valeurs[i qui vaut 0] donc 11 et plus grand que 11, non alors on passe au deuxième tour, valeurs[i qui vaut 1] donc 3 et plus grand que 11 non et ainsi de suite
max = valeurs[i]; // Si la condition du if est vrai, on remplace max par la valeur de valeurs[i]
}
}
alert(max);
J'en suis aux exercices du chapitre sur les tableaux. Comme je n'ai pas réussi à réaliser le programme somme.js, je suis allé voir la solution. Elle fonctionne, bien sûr, mais... je ne la comprends pas.
var valeurs = [11, 3, 7, 2, 9, 10];
var max = valeurs[0];
for (i = 0; i < valeurs.length; i++) {
if (valeurs[i] > max) {
max = valeurs[i];
}
}
alert(max);
Quelque chose n'a pas dû passer de mon côté question boucles, parce que je ne comprends absolument pas comment celle-ci permet de repérer la valeur maximale.
Une âme charitable pour m'expliquer ?
- Edité par Héliogabale il y a environ 17 heures
Dans cet exemple on cherche à afficher la plus grande valeur donc si on decortique et que l'on va dans l'ordre :
var valeurs = [11, 3, 7, 2, 9, 10]; // En premier on créé un tableau qui contient
// les valeurs que l'on va comparer
// Le tableau contient 6 valeurs et comme on compte
// à partir de zéro inclus nous avons des valeurs qui
// vont de 0 à 5
var max = valeurs[0]; // On stock dans la variable max la première valeur
// de notre tableau, donc valeurs[0]
for (i = 0; i < valeurs.length; i++) { // On crée une boucle qui va parcourir le tableau,
// ici traduit en langage naturel cela donne l'action suivante :
// i est égal à zéro; si i est inférieur
// à la longueur du tableau valeurs ( valeurs.length ) alors
// j'incrémente i de 1.
if (valeurs[i] > max) { // Ici pour le premier tour de la boucle i est égal à 0
// le programme récupère donc la première valeur du tableau
// (valeurs[0]) et vérifie si elle est supérieur à la valeur de la variable
// max, si oui max se vois attribué sa valeur, dans notre cas valeurs[0]
// vaut 11 et est égal à max comme il n'est donc pas inférieur et conserve
// sa valeur. Le programme passe donc au tour suivant et compare
// la valeur de la variable max à valeurs[1], etc... et ce jusqu’à la fin du tableau.
// une fois la comparaison de la dernière valeur effectué
// (valeurs[5]), la variable max contiendra sa valeur définitive
max = valeurs[i];
}
}
alert(max);
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet.
Je viens de commencer ce cours débutant sur javascript et j'ai un petit problème avec le debogage dans firefox. J'ai ouvert le fichier html, il apparaît bien dans l'inspecteur, la console affiche bien le résultat mais rien dans débogueur. J'ai raté une manip ?
D'accord. Alors qu'est-ce que je dois faire pour que le fichier apparaisse dans déboguer ce qui me permettra de suivre les instructions données par le responsable du cours dans sa vidéo "déboguer votre programme" ?
Bonjour jai problem au niveau du DOM Mon browser affiche toujour ce message "typeError: can't read property 'innerHL" of nul he ne said pas ce que je doit faire dans ce cas
Il y a la méthode push pour rajouter une valeur à la fin d'un tableau.
Au passage, ta première boucle for n'est pas adaptée puisque tu ne sais pas combien de fois elle va se répéter. Le nombre de fois qu'elle va se répéter est inconnu car cela dépend du choix de l'utilisateur... La boucle while est donc plus adaptée. Et pour être sûr que la boucle s'exécutera au moins une fois, utilises la boucle do while plutôt que la boucle while.
Pour finir, remplaces ta première variable mots par une variable mot, et n'enregistre pas un tableau dans cette variable car cette variable n'a qu'un intérêt, enregistrer le mot saisi par l'utilisateur. Si tu enregistres un tableau, ta boucle do while ne testera pas un mot mais un tableau... Et remplaces tous les mots-clés var par let pour te mettre à jour par rapport à ecmascript 2015.
J'ai deux questions concernant le TP de la fin de la formation JS... Je peux mettre mon code ici ou cela engendrerai une complicité pour triche de ma part ??
Si je peux pas le mettre ici, quelqu'un peut me dire a qui je peux m'adresser pour poser mes questions ?
Merci à vous
Dorian, Sacrieur à temps perdu, Apprentis des Apprentis dans la guilde de la Main Verte.
Afin de vous assurer d'avoir une réponse le plus rapidement possible, je vous invite à directement contacter l'équipe du site via l'adresse hello@openclassrooms.com. En effet, l'équipe du site ne passant que très rarement sur les forums, il sera beaucoup plus efficace de les contacter directement.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
J'aimerai modifier cette fonction afin de pouvoir changer le nom d'une recette.
Ou faire une autre fonction qui fait la modification. quelqu'un peut-il m'aider svp ?
function ajouter(e){
var nomDessert = prompt("Entrez le nom du nouveau dessert :");
var dessertElt = document.createElement("li");
dessertElt.textContent = nomDessert;
document.getElementById("desserts").appendChild(dessertElt);
}
document.querySelector("button").addEventListener("click",ajouter);
Bonjour, je suis en train de revoir les différents cours sur javascript sur Openclassrooms pour m'aider dans un projet commencé il y a longtemps, sur lequel je souhaite d'une part structurer mieux le code et d'autre part ajouter de la POO.
Dans la partie Trop classe la POO du cours, je vois que le code utilisé pour créer un nouvel objet est :
varunObjet={
a:2
};
var unAutreObjet = Object.create(unObjet);
Il me semblait qu'on pouvait créer une classe en la définissant par une function Objet() puis créer le nouvel objet avec unObjet = new Objet()
Est-ce une nouvelle manière de faire ou est-ce complétement différent ?
Comme il y a l'air d'y avoir pas mal de nouveautés sur javascript ces derniers temps, je ne sais plus trop quel code utiliser !
Oui, merci. Mais qu'elle est la différence avec unObjet = new Objet() ?
J'ai aussi vu plusieurs façon de créer un objet, avec un objet littéral :
var person = {
firstName:"John",
lastName:"Doe",
age:50,
eyeColor:"blue"
};
ou avec un constructeur :
var Dog = function() { // defining Dog constructor
this.hasTail = true; // defining a property
this.bark = function() { // defining a method property
console.log("wouf wouf");
}
}
Je voudrais savoir s'il y a une façon de faire "meilleure" que les autres ou si ce sont des façons différentes qui ont chacune son intérêt particulier.
Si vous pensez que je dois mettre cette discussion dans un autre sujet, n'hésitez pas à me le dire.
- Edité par doudoulolita 14 octobre 2018 à 18:38:02
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)