1.6 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
587d7b85367417b2b2512b3a | Capturar argumentos passados na ordem errada ao chamar uma função | 1 | 301184 | catch-arguments-passed-in-the-wrong-order-when-calling-a-function |
--description--
Continuando a discussão sobre chamada de funções, o próximo bug para prestar atenção é quando os argumentos de uma função são fornecidos na ordem incorreta. Se os argumentos forem de diferentes tipos, tal como uma função esperando um array e um inteiro, isso provavelmente lançará um erro de tempo de execução. Se os argumentos são do mesmo tipo (todos os inteiros, por exemplo), então a lógica do código não fará sentido. Certifique-se de fornecer todos os argumentos exigidos, na ordem adequada para evitar esses problemas.
--instructions--
A função raiseToPower
eleva uma base para um expoente. Infelizmente, não é chamada corretamente - corrija o código para que o valor de power
seja o 8 esperado.
--hints--
O código deve corrigir a variável power
para que seja igual a 2 elevado a 3ª potência, e não 3 elevado a 2ª potência.
assert(power == 8);
O código deve usar a ordem correta dos argumentos para a chamada da função raiseToPower
.
assert(code.match(/raiseToPower\(\s*?base\s*?,\s*?exp\s*?\);/g));
--seed--
--seed-contents--
function raiseToPower(b, e) {
return Math.pow(b, e);
}
let base = 2;
let exp = 3;
let power = raiseToPower(exp, base);
console.log(power);
--solutions--
function raiseToPower(b, e) {
return Math.pow(b, e);
}
let base = 2;
let exp = 3;
let power = raiseToPower(base, exp);
console.log(power);