Herramientas de usuario

Herramientas del sitio


informatica:programacion:cursos:programacion_avanzada_javascript

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:programacion:cursos:programacion_avanzada_javascript [2024/11/08 10:43] – [ECMAScript fundamental] tempwininformatica:programacion:cursos:programacion_avanzada_javascript [2024/11/08 11:53] (actual) – [Evaluación final] tempwin
Línea 318: Línea 318:
 </code> </code>
 </WRAP> </WRAP>
 +
 +==== Evaluación final ====
 +
 +**En el siguiente código**:
 +
 +<code javascript>
 +var saludo = "Hola";
 +function miFuncion() {
 +alert(saludo);
 +saludo = "Adios";
 +}
 +miFuncion();
 +alert(saludo);
 +</code>
 +
 +**¿Qué se muestra por pantalla? ¡Fíjate muy bien en el código y no hagas trampa ejecutándolo ;-)!**
 +
 +  * "Hola" y "Adios" (**Correcto**)
 +  * "Adios" y "Hola"
 +  * "Hola" y "Hola"
 +  * "Adios y "Adios"
 +  * Ninguna de las anteriores 
 +
 +**¿Cómo puedes iterar sobre todos los valores de un array?**
 +
 +  * Usando un bucle ''for'' de 0 hasta ''array.length''
 +  * Usando un bucle ''for'' de 0 hasta ''array.length - 1''  (**Correcto**)
 +  * Usando un bucle ''for'' de 1 hasta ''array.length''
 +  * Usando un bucle ''foreach''
 +  * Usando un bucle ''for-in''
 +  * Usando un bucle ''for-of ''  (**Correcto**)
 +
 +**¿Es posible comprobar varios casos en una sola instrucción case en una estructura de control de flujo de comprobación de casos?**
 +
 +  * Sí, utilizando: ''case 1, 2, 3:''
 +  * Sí, utilizando: ''case 1-3:''
 +  * Sí, utilizando condiciones lógicas, como por ejemplo: ''case (x>=0 || x<=5):''
 +  * No, no es posible, aunque se puede simular con un ''switch(true)'' y luego usando condiciones lógicas, pero posee limitaciones (**Correcto**)
 +  * No, no es posible en JavaScript
 +
 +**¿Cómo recorrerías los elementos de una matriz usando para ello un bucle determinado y accediendo directamente con la variable contador del bucle, por ejemplo ''miMatriz[i]''?**
 +
 +  * ''for(var i= 0; i< miMatriz.length; i++)'' (**Correcto**)
 +  * ''for(var i= 0; i<= miMatriz.length; i++)''
 +  * ''for(var i= 1; i< miMatriz.length; i++)''
 +  * ''for(var i= 1; i<= miMatriz.length; i++)''
 +
 +**¿Puede una variable contener un generador?**
 +
 +  * No. Los generadores son siempre funciones de otros objetos
 +  * Sí, es posible definir un generador como una función sola y guardar dicha función en una variable (**Correcto**)
 +  * No. Aunque se pueden definir generadores como funciones solas, no se pueden guardar en variables
 +
 +**Cuando tienes una función que está trabajando como manejador de un evento, ¿qué referencia contendrá la variable ''this'' al utilizarla desde dentro del manejador?**
 +
 +  * Una referencia al objeto global (window)
 +  * Una referencia al objeto event que representa los datos del evento
 +  * Una referencia al elemento que ha provocado el evento
 +  * Una referencia al elemento que está capturando el evento, el cual no tiene que coincidir con el que lo ha provocado (**Correcto**)
 +
 +**El método ''sort'' de las matrices sirve para:**
 +
 +  * Ordenar de menor a mayor los elementos de una matriz
 +  * Ordenar de mayor a menor los elementos de una matriz
 +  * Ordenar de cualquier manera que deseemos los elementos de una matriz, usando para ello una función auxiliar que define cómo es la ordenación y que se pasa como parámetro (**Correcto**)
 +  * Este método no existe
 +
 +**¿Qué métodos se utilizan para insertar y quitar elementos del principio de una matriz, creando en la práctica una pila FIFO o cola?**
 +
 +  * ''push'' y ''pull''
 +  * ''push'' y ''pop''
 +  * ''slice'' y ''splice''
 +  * ''unshift'' y ''shift'' (**Correcto**)
 +
 +**Has creado un proxy ''p'', sobre un objeto ''obj''. Dicho proxy intercepta las llamadas a propiedades.
 +
 +Tienes una función ''f'', que recibe el objeto por parámetro y que llama a una propiedad ''prop'' del objeto, pero el proxy no intercepta nada.
 +
 +¿Qué puede estar pasando?**
 +
 +  * Que a la función ''f'' le has pasado el objeto ''obj'' en lugar del proxy ''p'' como parámetro (**Correcto**)
 +  * Que el proxy no se ha inicializado
 +  * Las propiedades no pueden interceptarse, solo se pueden interceptar los métodos 
 +
 +**¿Cómo podrías conseguir que un código se ejecutase a intervalos regulares de tiempo, entre ejecuciones completas, con toda certeza y sin que se pierdan o se retrasen ejecuciones, incluso aunque estos intervalos fuesen cortos y el proceso largo?**
 +
 +  * Simplemente usando ''setInterval'', que está diseñado para eso
 +  * Utilizando ''setTimeout'' y estableciendo un nuevo ''setTimeout'' al final del código que se ejecuta (**Correcto**)
 +  * No es posible conseguir esto en casos extremos debido a que JavaScript se ejecuta siempre en un solo hilo y no tiene paralelismo
  
informatica/programacion/cursos/programacion_avanzada_javascript.1731058994.txt.gz · Última modificación: por tempwin