Meu código html com javascript esta da seguinte forma:
Estou estudando lógica de programação, com html e javascript, porém num determinado exercicio, onde necessito alterá-lo para realizar um calculo na função calculaPontos, ao executa-lo, ao invés de mostrar o resultado, o navegador simplesmente copia o digitado na função, porque? E como solucionar isso. Grato.
Mostre o código completo da sua página, tanto a parte html quanto javascript. Em vez de postar uma imagem, copie e cole ele aqui, e use o botão </>
para formatá-lo.
De toda forma, me parece que você não está rodando a função calculaPontos() dentro da tag script, o que faz com que ela não seja executado como script, apenas exibido como texto pelo navegador.
Abraço.
Olá TerraSkilll, obrigado pela ajuda.
Eu havia colado, porem não apareceu, não sei o porque.
Segue o código:
<meta charset="UTF-8">
<script>
function pulalinha(){
document.write("<br>");
}
function mostra(frase){
document.write(frase);
pulalinha();
}
function calculaPontos(vitorias, empates, derrotas){
return ((vitorias * 3) + empates - derrotas);
}
var vitorias = parseInt(prompt("Quantos jogos o CDC FC venceu?"));
var empates = parseInt(prompt("Quantos jogos o CDC FC empatou?"));
var derrotas = parseInt(prompt("Quantos jogos o CDC FC foi derrotado?"));
var vitoriasAdversario = parseInt(prompt("Quantos jogos o LIVROS VELHOS FC venceu?"));
var empatesAdversario = parseInt(prompt("Quantos jogos o LIVROS VELHOS FC empatou?"));
var derrotasAdversario = parseInt(prompt("Quantos jogos o LIVROS VELHOS FC foi derrotado?"));
var pontos = calculaPontos;
var pontosAdversario = calculaPontos;
mostra("Nosso time tem " + pontos + " pontos!");
mostra("O Time LIVROS VELHOS tem " + pontosAdversario + " pontos!");
if (pontos > pontosAdversario) {
mostra("Nosso time esta indo MELHOR que o Livros Velhos!");
}
if (pontos < pontosAdversario) {
mostra("Nosso time esta indo PIOR que o Livros Velhos!");
}
if (pontos == pontosAdversario) {
mostra("Nosso time esta EMPATADO com o Livros Velhos!");
}
</script>
Nessas linhas, você está passando o conteúdo (código) da função. Sempre que for chamar uma função, precisa adicionar os parênteses à chamada. E colocar os parâmetros, se for o caso (funções podem não ter parâmetros, nesse caso, só os parênteses vazios são necessários).
Imagino que o que você queira é:
var vitorias = parseInt(prompt("Quantos jogos o CDC FC venceu?"));
var empates = parseInt(prompt("Quantos jogos o CDC FC empatou?"));
var derrotas = parseInt(prompt("Quantos jogos o CDC FC foi derrotado?"));
var vitoriasAdversario = parseInt(prompt("Quantos jogos o LIVROS VELHOS FC venceu?"));
var empatesAdversario = parseInt(prompt("Quantos jogos o LIVROS VELHOS FC empatou?"));
var derrotasAdversario = parseInt(prompt("Quantos jogos o LIVROS VELHOS FC foi derrotado?"));
var pontos = calculaPontos(vitorias, empates, derrotas);
var pontosAdversario = calculaPontos(vitoriasAdversario, empatesAdversario, derrotasAdversario);
Abraço.
Obrigado pelo retorno @TerraSkilll, era exatamente esse o problema, e não estava rodando como deveria! Porém surgiu uma outra situação, ele não esta calculando como deveria: (Para mim fiz a conta certa, diretamente na variável, sem o uso de uma função, ele calcula corretamente, ao utilizar a função, ele apenas mostra o somatório da derrotas. Porque? Tentei com return e com object.log, e os dois com o mesmo retorno.
function calculaPontos(vitorias, empates, derrotas){
object.log (vitorias * 3) + empates - derrotas;
}
Código inteiro, junto com seu auxilio na ultima dúvida:
<meta charset="UTF-8">
<script>
function pulalinha(){
document.write("<br>");
}
function mostra(frase){
document.write(frase);
pulalinha();
}
function calculaPontos(vitorias, empates, derrotas){
object.log (vitorias * 3) + empates - derrotas;
}
var vitorias = parseInt(prompt("Quantos jogos o CDC FC venceu?"));
var empates = parseInt(prompt("Quantos jogos o CDC FC empatou?"));
var derrotas = parseInt(prompt("Quantos jogos o CDC FC foi derrotado?"));
var vitoriasAdversario = parseInt(prompt("Quantos jogos o LIVROS VELHOS FC venceu?"));
var empatesAdversario = parseInt(prompt("Quantos jogos o LIVROS VELHOS FC empatou?"));
var derrotasAdversario = parseInt(prompt("Quantos jogos o LIVROS VELHOS FC foi derrotado?"));
var pontos = (vitorias, empates, derrotas);
var pontosAdversario = (vitoriasAdversario, empatesAdversario, derrotasAdversario);
mostra("Nosso time tem " + pontos + " pontos!");
mostra("O Time LIVROS VELHOS tem " + pontosAdversario + " pontos!");
if (pontos > pontosAdversario) {
mostra("Nosso time esta indo MELHOR que o Livros Velhos!");
}
if (pontos < pontosAdversario) {
mostra("Nosso time esta indo PIOR que o Livros Velhos!");
}
if (pontos == pontosAdversario) {
mostra("Nosso time esta EMPATADO com o Livros Velhos!");
}
</script>
Grande abraço e muitíssimo obrigado pela ajuda!
Estas linhas aqui não estão chamando a função calculaPontos:
var pontos = (vitorias, empates, derrotas);
var pontosAdversario = (vitoriasAdversario, empatesAdversario, derrotasAdversario);
Se você quer o resultado de uma função, precisa chamá-la, como no código que postei acima. Não entendi porque você removeu as chamadas.
var pontos = calculaPontos(vitorias, empates, derrotas);
var pontosAdversario = calculaPontos(vitoriasAdversario, empatesAdversario, derrotasAdversario);
Também use return na função, se o objetivo é retornar o resultado do cálculo.
function calculaPontos(vitorias, empates, derrotas){
return (vitorias * 3) + empates - derrotas;
}
Abraço.
Erro de principiante @TerraSkilll , não percebi que eu tirei a chamada para a função. Mais uma vez obrigado. Abraço.