Módulo 33 de 35 · Texto
#33
/ *
Você tem que prever a saída deste programa SEM EXECUTÁ-LO.
Para fazer isso, tente anotar o valor que todas as variáveis assumem
durante cada etapa da execução do programa.
Responda as seguintes questões:
1. Este programa gera um erro. Por quê? (Se você não conseguir encontrar, tente executá-lo).
2. Remova a linha que gera o erro.
3. O que é impresso no console?
4. Quantas vezes "f1" é chamado?
5. Quantas vezes "f2" é chamado?
6. Qual valor o parâmetro "a" assume na primeira chamada "f1"?
7. Qual é o valor da variável externa "a" quando "f1" é chamado pela primeira vez?
* /
let x = 2;
let a = 6;
const f1 = function(a, b) {
return a + b;
};
const f2 = function(a, b) {
return a + b + x;
};
console.log(x);
console.log(a);
console.log(b);
for (let i = 0; i < 5; ++i) {
a = a + 1;
if (i % 2 === 0) {
const d = f2(i, x);
console.log(d);
} else {
const e = f1(i, a);
console.log(e);
}
}