Bonjour,

Je sèche sur cette fonction, elle doit me retourner 17 et 21.
Et le probleme est qu'au lieu d'avoir 21 j'ai 36.
Car b est affecté dans les lignes précédente. L'exercice étant de travailler sur les variables

var a = 3;
var b = 2;
function line(x) {
    var a = 5;
    var b = 4;
    return a*x + b;
};

//b doit afficher 17
b = line(a) - b;
alert(b);

//c doit afficher 21
c = line(a) + b;
alert(c);

4 réponses


sylvain
Auteur
Réponse acceptée

Ok j'ai trouvé

var a = 3;
var b = 2;
var line = function(x) {
    var a = 5;
    var b = 4;
    return a*x + b;
};

//c should be 21
c = line(a) + b;
alert(c);
//b should be 17
b = line(a) - b;
alert(b);

il suffisait de changer l'ordre des fonctions et ca marche.

Car b est desormais égal à 17. Voir ta ligne précèdante :

b = line(a) - b
sylvain
Auteur

oui je le sais. mais comment faire pour eviter cela en gardant b et c tel quel ?

sylvain
Auteur

Voici le sujet du probleme que j'apprend et dont je seche