Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

$nomeCidade e $resultado nao imprime o valor.

sistema windows 10, VS, teste no chrome.

alert retorna $nomeCidade e $resultado

js

let titulo = document.querySelector("h1");
titulo.innerHTML = "Hora do Desafio";

function verificarConsole() {
    console.log("o botao foi clicado");
}

function verificarAlerta() {
    alert("Eu amo JS");
}

function verificarPrompt() {
    let nomeCidade = prompt("Digite um nome de cidade do Brasil!");
    alert('Estive em ${nomeCidade} e lembrei de voce.');
}

function verificarSoma() {
    let primeiroNumero = prompt("Digite o primeiro numero!");
    let segundoNumero = prompt("Digite o segundo numero!");
    let resultado = primeiroNumero + segundoNumero;
    alert('A soma fica ${resultado}');
}

html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <title>Document</title>
</head>

<body>
    <header>
        <h1></h1>
    </header>
    <main class="container">
        <button onclick="verificarConsole()" class="button">Console</button>
        <button onclick="verificarAlerta()" class="button">Alert</button>
        <button onclick="verificarPrompt()" class="button">Prompt</button>
        <button onclick="verificarSoma()" class="button">Soma</button>
    </main>

    <script src="app.js"></script>
</body>

</html>
4 respostas

Oii, Matheus.

Preciso de mais informações para entender sua dúvida. Siga as orientações do guia de como fazer uma boa pergunta no fórum e me retorne com as informações pedidas.

Não mande print do código.

Um abraço.

modifiquei de como estava vê se ficou melhor pra entender.

solução!

Oii, Matheus!

O problema que você tá enfrentando tá relacionado ao uso de aspas simples (') dentro da string no alert, quando você deseja incluir variáveis no texto. Pra que a interpolação de variáveis funcione corretamente, você deve usar aspas invertidas (backticks) em vez de aspas simples ou duplas.

let titulo = document.querySelector("h1");
titulo.innerHTML = "Hora do Desafio";

function verificarConsole() {
    console.log("O botão foi clicado");
}

function verificarAlerta() {
    alert("Eu amo JS");
}

function verificarPrompt() {
    let nomeCidade = prompt("Digite um nome de cidade do Brasil!");
    alert(`Estive em ${nomeCidade} e lembrei de você.`); // Corrigido aqui
}

function verificarSoma() {
    let primeiroNumero = parseInt(prompt('Digite o primeiro número'));
    let segundoNumero = parseInt(prompt('Digite o segundo número'));
    let resultado = primeiroNumero + segundoNumero;
    alert(`${primeiroNumero} + ${segundoNumero} = ${resultado}`);
}

O que foi corrigido:

  • Interpolação de variáveis: Ao usar as backticks (`), a interpolação de variáveis dentro da string funciona corretamente. Antes, você estava usando aspas simples ('), que não suportam interpolação.

  • parseInt: O parseInt foi usado para garantir que as entradas do prompt sejam convertidas para inteiros antes de serem somadas.

  • Template literal: A interpolação das variáveis dentro do alert agora mostra a operação de soma completa (ex.: 5 + 10 = 15).

Isso vai funcionar bem para somar números inteiros.

Cidade:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Soma:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Espero ter ajudado.

Um abraço e bons estudos.

tive o mesmo problema, mas nenhuma função estava funcionando. por incrivel que pareça o parseInt resolveu o problema na função.