Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

[Duda] Cómo acceder a una variable que se crea dentro de una función, desde fuera de esta función.

Hola compañeros, un cordial saludo.

Me ha sucedido mucho durante los cursos que en mis desarrollos llego a la idea de crear una función y dentro de ella voy a usar una variable.

Me ha sucedido que luego tengo problemas para usar el valor de esta variable, ya que me genera udefined. Quisiera saber si existe alguna manera de acceder a los valores de una variable que se crea en una función, desde fuera de esa función.

Yo entiendo que utilizando la palabra return puedo retornar los valores de una variable, pero en ocasiones no me funciona.

También quisiera saber si existe el mismo problema de la manera inversa, al querer usar una variable creada fuera de una función, y querer usar esa variable dentro de una función.

Espero no esté muy enredada mi duda, es que no encontré una mejor manera de describirla, y es que así estoy en este momento, con muchas ideas revueltas en mi cabeza, jajaja.

Un saludo de agradecimiento para quien intente entender este enredo.

3 respuestas

lo puedes hacer es tener la variable de forma global, fuera de la función pero eso puede hacer que te confundas si la modificas en diferentes partes, lo mejor es generar una funcion que modifique solo esa variable, por ejemplo, tienes tu funcion principal, luego generas variables secundiaras que modifiquen solo una variable.

por otro lado, puedes hacer lo mismo teniendo la variable global y usarla en cualquier funcion, pero lo mejor seria, pasar esa variable como parametro a la funcion que vayas a usar.

solución!
function main(){
            var variable1 = obtnerVariable1(); //generas una funcion que solo haga una cosa
            var variable2 = obtnerVariable2(); //generas una funcion que solo haga una cosa
            var variable3 = obtnerVariable3(); //generas una funcion que solo haga una cosa

            usarVariables(variable1, variable2, variable3); //usar variables de una funcion en otra
        }

        function obtnerVariable1(){ //cuando generar una funcion no es recomendable generar mas
            var val = 5+6;          //variables de las que ocupas
            return val;
        }
var publicVal = 5; //generas una variables con un valor de 5

        function main(){

            modificarPublicVal(); //funcion para modificar variable publica
            console.log(publicVal); //como ya modificase la variable publica el valor seria de 7

        }

        function modificarPublicVal(){ 
            publicVal = 7;
        }

        main();