Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: bermartinv en 16 de Febrero 2016, 10:47

Título: JavaScript operador ternario condicional interrogante significado += CU01152E
Publicado por: bermartinv en 16 de Febrero 2016, 10:47
Respuestas a ejercicios CU01152E del curso JavaScript desde cero:


A) El operador += significa que a la variable que encontremos a la parte izquierda se le sumará al valor que teng a el valor de la variable de la derecha.
var a = 5;
var b = 6;
a += b;     // El valor de la variable a ahora será 11


B) Hemos usado getElementsByTagName() , este operador mete en un Array todos las etiquetas del tipo que le digamos que haya en el document.

                       document.getElementByTagName(body)[0]

Como solo existe una etiqueta body en nuestro document especificamos que el queremos nosotros es el que se encuentra en la primera posición del Array.


C) Al no elegir ningún color o poner un valor que sea distinto a los posibles valores de background-color , en el operador ternario se usa la segunda opción que es cuando no se cumple la condición(false).

                    operacion a comprobar? true : false;

D) Al poner pink en la pregunta, se añade el h1 al final del document con background-color:pink, esto es debido porque colorUsuario, es la variable que asignamos a blackground-color, al introducir una valor que sea valido para los colores de background se le asigna y se le aplica.


E)

Código: [Seleccionar]
<!DOCTYPE html>

<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">

<script type="text/javascript">

function ejemplo() {

var htmlADevolver = '';

var colorUsuario = prompt('Elija color red, yellow o blue');

htmlADevolver += colorUsuario == 'red' || colorUsuario == 'yelow' || colorUsuario == 'blue'  ? '<h1 style="background-color:'+colorUsuario+

';"> Usted eligió '+colorUsuario+'</h1>' : '<h1>No eligió color de los posibles</h1>';

var nodoBody = document.getElementsByTagName('body')[0];

nodoBody.innerHTML = nodoBody.innerHTML + htmlADevolver;
   
}

</script>

</head>

<body><div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>

<div style="color:blue;" id ="pulsador" onclick="ejemplo()"> Probar </div>

</body>
</html>


F) Y con la condicion IF

Código: [Seleccionar]
<!DOCTYPE html>

<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">

<script type="text/javascript">

function ejemplo() {

var htmlADevolver = '';

var colorUsuario = prompt('Elija color red, yellow o blue');

if ( colorUsuario == 'red' || colorUsuario == 'yelow' || colorUsuario == 'blue'){
   
    htmlADevolver += '<h1 style="background-color:'+colorUsuario+

';"> Usted eligió '+colorUsuario+'</h1>';

}else{
   
    htmlADevolver += '<h1>No eligió color de los posibles</h1>';

}

var nodoBody = document.getElementsByTagName('body')[0];

nodoBody.innerHTML = nodoBody.innerHTML + htmlADevolver;

}
   
</script>

</head>

<body><div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>

<div style="color:blue;" id ="pulsador" onclick="ejemplo()"> Probar </div>

</body>
</html>
Título: Re:CU01152E Operador ternario
Publicado por: pedro,, en 17 de Febrero 2016, 21:40
Hola bermartinv.

Las respuestas a, b y d, son correctas.

En la pregunta c, si se introduce un valor que no coincida con ningún color válido para background-color, el ternario ejecutará su primera condición y no la segunda, con la única diferencia que no se cambiará el color de fondo al no ser un nombre de color válido.

El código de las respuestas e y f eta bien, exceptuando que escribiste 'yelow' dentro del condicional ternario y el if, vamos, que te comiste una 'l'.

Por cierto, el tema es el CU01152E.

Saludos.
Título: Re:CU01152E Operador ternario
Publicado por: bermartinv en 17 de Febrero 2016, 22:28
Si, lo que falte alguna letra de alguna expresion, variable o función es típico en mi.
Muchas gracias.