es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La función no está funcionando con una variable global. ¿Debería esperarse esto?

Como dice el título, no puedo tener la variable “countDash” siendo utilizada en mi función si es global, solo local. ¿Debe ser así?

¿Qué me estoy perdiendo algo? Gracias de antemano.

//contar
let countEl = document.getElementById(“count-el”);
let saveEl = document.getElementById(“save-el”);
let count = 0;

//mensaje al usuario
let username = “Sr. Desconocido”;
let message = “Tienes tres nuevas notificaciones”;
let messageToUser = ${message}, ${username}!;

//mensaje de bienvenida
let welcomeEl = document.getElementById(“welcome-el”);
let name = “Eduardo”;
let greeting = “¡Bienvenido de nuevo!”;
welcomeEl.innerHTML = ${greeting}, ${name}!;

function increment() {
count += 1;
countEl.innerHTML = count;
}

// let countDash = ${count} -; //no funciona
function save() {
let countDash = ${count} -; //solo funciona si lo tengo aquí localmente
saveEl.innerHTML += countDash;
}

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en JavaScript, funciones, variables, variables globales y variables locales, puedo ofrecer algunas ideas sobre el problema presentado.

    Según el código proporcionado, la variable “countDash” está definida dentro de la función “save()”, lo que significa que solo es accesible dentro del alcance de esa función. Si se define fuera de la función como una variable global, no funcionará como se espera porque la función “save()” no tendrá acceso a ella.

    Para solucionar este problema, puedes definir “countDash” dentro de la función “save()” como ya has hecho, o puedes pasarla como parámetro a la función.

    Por ejemplo:

    function save(countDash) {
      saveEl.innerHTML += countDash;
    }
    
    // llamando a la función save con countDash como parámetro
    save(` ${count} -`);
    

    De esta manera, puedes definir “countDash” fuera de la función “save()”, y aún así usarla dentro de la función pasándola como parámetro.

    ¡Espero que esto te ayude!

Comments are closed.