Autor Tema: tipos por defecto typeof javascript saber tipo variable ambito ejemplo CU01167E  (Leído 1819 veces)

paramonso

  • Intermedio
  • ***
  • Mensajes: 241
  • El ignorante afirma, el sabio duda y reflexiona.
    • Ver Perfil
Hola. Dejo el Ejercicio CU01167E typeof javascript saber tipo variable ambito scope global local, del tutorial pdf de programación JavaScript.

a) Haz una lista de las variables que intervienen indicando para cada variable cuál es su nombre, cuál es su tipo, cuál es su cometido y si está definida como variable global o variable local.
            
Variable target_date. Tipo Date. Cometido coge una fecha dada y la almacena para usar con otras variables. AmbitoGlobal
Variable days   .      Tipo Numérica Entera. Cometido calcular los días que faltan. Ámbito global.
Variable hours.     Tipo Numérica Entera. Cometido calcular las horas que faltan. Ámbito global.
Variable minutes. Tipo Numérica Entera. Cometido calcular los minutos que faltan. Ámbito global.
Variable seconds. Tipo Numérica Entera. Cometido calcular los segundos  que faltan. Ámbito global.
Variable countdown. Tipo Objeto. Cometido coge un elemento del DOM en este caso un div para presentar datos en pantalla. Ambito Local
Variable seconds_left.Tipo Numerica. Cometido calcula el tiempo que falta en segundos, minutos, horas, días. AmbitoLocal

b) ¿Qué ocurre si definimos la variable current_date en el ámbito global en vez de dentro de la función?
Que deja de contar el tiempo.
¿Por qué ocurre esto?.
Porque al estar fuera del ciclo de setInterval  que es un bucle repetitivo la variable no se actualiza y no cambia su valor.

c) ¿Podríamos definir todas las variables como locales a la función y prescindir de las variables globales?
 Si.
Si se pudiera hacer, ¿crees que sería positivo para el diseño del código, su mantenimiento y ampliabilidad, o por el contrario, que sería negativo?
No seria positivo. Porque si tenemos una función especializada en una determinada tarea y los datos que recibe están dentro de la misma función estos datos no se podrían reutilizar para otras tareas. Tendríamos que llamar a las de mas funciones desde esta función y poco a poco se iría cargando de tareas innecesarias para la función y las funciones son “trozos” de código de programa con un objetivo especializado. Aparte de que sería muy lioso a la hora de encontrar donde tenemos ciertas variables guardadas. Cada vez que quisiéramos ver una variable tendríamos que buscar dentro de todo el código del programa y en estos ejercicios el código es muy corto en programas más extensos sería muy tedioso y costaría mucho tiempo encontrar una variable.
Declarando las variables globales podríamos utilizarlas desde otras funciones.

d) ¿Qué métodos de los empleados en el código devuelven valores en milisegundos?
El metodo getTime() de la función Date

e) Razona la lógica del código. Con los contenidos que hemos visto en el curso hasta el momento, debes ser capaz de entender todo el código que aparece en el script.

Ante una fecha dada (bien sea dentro de la función Date o recibiendola de una variable) se extrae el tiempo en mili segundos con el método getTime y se carga en una variable que se pasará a una función. En esta función hay otra variable a la que se le pasa la fecha actual con Date.getTime() para extraer el tiempo en milisegundos. A partir de estas dos variables se crean otras en las que se hacen los cálculos para pasar el tiempo de milisegundos a segundos, minutos, horas y días una vez hechos los cálculos en estas variables se presentará por pantalla  el tiempo que falta desde el día actual hasta la fecha dada. Si el valor que se le pasa es una fecha anterior a la fecha actual nos devolverá los días, horas, minutos y segundos en valor negativo. Los datos en vez de pasar restando pasarán sumando en valores negativos y se presentaran así en pantalla. Estos valores serán los días transcurridos desde la fecha dada hasta el día actual
« Última modificación: 20 de Junio 2018, 20:04 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2659
    • Ver Perfil
Buenas, todo bien. Las variables que has indicado Tipo Numérica Entera se corresponderían con el tipo Number de JavaScript, que es el tipo que se asigna por defecto a valores numéricos cuando no hay una declaración explícita de tipo.

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".