Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - bermartinv

Páginas: 1 ... 8 9 10 11 12 [13] 14 15
241
Tienes razón Pedro, en todos los sitios que he leido algo de teoria sobre Javascript se usa || , pero como ya comenté en otro hilo del foro, soy muy propenso a comerme caracteres y no sabes lo que luego me cuesta encontrar donde me he equivocado, porque el código está bien pero al faltar a lo mejor una letra a una variable no funciona.
Saludos y gracias

242
Gracias Pedro, por contestar no había usado la sentencia match porque es este tema no se explica su funcionamiento y por no liar más el ejercicio. De todas manera rectifico el código e incluyo match:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<script>
function comprobar(){
    var resultado = '';
var expresionRegular = /^[A-C]\w+\ses\s\w+/;
var vector = ['Juan es guapo','Adriano no es feo','Adriano deja de ser guapo','Adriano ya es guapo','No es ahora','Ahora es no','Adriano es guapo']
    for (var i=0;i<vector.length;i++){
        var coincidencias =vector[i].match(expresionRegular);
        coincidencias === null ?resultado = 'No tiene':resultado = coincidencias.valueOf();
        var sino = expresionRegular.test(vector[i])? 'si ':' no ';
        msg = "El texto \'"+vector[i]+"\' "+sino+ ' cumple la expresion regular\n y la coincidencia a la expresion regular es :'+resultado;
        alert (msg);
    }
}   
   
   
    </script>

</head>
<body>
   <p>La expresion regular es /^[A-C]\w+\ses\s\w+/</p>
    <button onclick="comprobar()">Expresion Regular</button>
</body>
</html>



243
Perdona Pedro,
se me había pasado este mensaje y he visto que no te contesté y no resolví el problema. Hoy repasando temas de http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=78&Itemid=206, me he dado cuenta.
Dejo la solucion en este hilo:https://www.aprenderaprogramar.com/foros/index.php?topic=4018.0

Disculpame Pedro y muchas gracias.

244
Para el primer ejercicio de la entrega CU01159E del tutorial JavaScript:

Citar
Crea un documento HTML que conste de un título h1 con el texto <<La web para aprender programación>>, dos párrafos de texto y una imagen. Utiliza los eventos onmouseover para que la imagen original sea reemplazada por otra imagen cuando el usuario pasa el ratón sobre ella. Utiliza el evento onmouseout para hacer que cuando el usuario salga del espacio de la imagen, vuelva a aparecer la imagen original.

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document curso aprenderaprogramar.com</title>
<style>
    img {
        height: 400px;
        width: 400px;
    }   
</style>
<script>
window.onload = function(){
    var imagen = document.getElementById("imagen_web");
    imagen.addEventListener('mouseover',cambiarImagen);
    imagen.addEventListener('mouseout',imagenIniciar);
   
    function cambiarImagen(){
        this.setAttribute('src','https://image.shutterstock.com/display_pic_with_logo/3016328/368581601/stock-photo-computer-key-showing-the-word-html-368581601.jpg');   
    }
   
    function imagenIniciar(){
        this.setAttribute('src',"https://pixabay.com/static/uploads/photo/2014/07/07/10/22/html-386093__180.jpg");
    }
   
   
}   
   
</script>
</head>
<body>
    <h1>La web para aprender programacion</h1>
        <p>La programación Web, parte de las siglas WWW, que significan World Wide Web o telaraña mundial.</p>
        <p>En la programación Web, el HTML es el lenguaje que permite codificar o preparar documentos de hipertexto, que viene a ser el lenguaje comun para la construccion de una pagina Web.</p>
        <img id="imagen_web" src="https://pixabay.com/static/uploads/photo/2014/07/07/10/22/html-386093__180.jpg" />
</body>
</html>


Y para el segundo ejercicio

Citar
Crea un documento HTML que conste de un título h1 con el texto <<La web para aprender programación>>, dos párrafos de texto y un formulario con los campos nombre, apellidos, edad y correo electrónico, así como con botones enviar y cancelar. Utiliza el evento onsubmit y otras herramientas para impedir que se envíe el formulario si se produce alguna de estas circunstancias:

a) El nombre está vacío ó el correo electrónico está vacío.

b) El correo electrónico no contiene los símbolos @ (arroba) y . (punto). Por ejemplo juan arroba gmail.com no es un correo válido.

c) No existe al menos una letra precediendo el símbolo @ del correo electrónico y una letra después de este símbolo. Por ejemplo a@.com no es un correo válido.

d) No existen al menos dos letras después del punto en el correo electrónico. Por ejemplo juan@gmail.c no es un correo válido.

e) La edad es cero o menor de cero.

En caso de producirse una de estas circunstancias, debe mostrarse el campo del formulario de un color distinto y un mensaje de advertencia. El color de advertencia debe desaparecer (dinámicamente) cuando el campo que tenía un problema tome el foco (para ello usa el evento onfocus).


El código es el siguiente:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document curso aprenderaprogramar.com</title>
<style type="text/css">
input {margin:10px;}
</style>
</head>
<script>

var nombreOk=false;
var apellidoOk=false;
var edadOk=false;
var emailOk=false;
     
window.onload=function(){
    var everyInputs=document.getElementsByTagName('input');
    for (var i=0;i<(everyInputs.length);i++){
        everyInputs[i].addEventListener('focus',estilo);
        everyInputs[i].addEventListener('blur',estilo2);
        var nodoname=everyInputs[i].name;
       
        switch (nodoname){
                case "nombre":
                    everyInputs[i].addEventListener('blur',validarNombre);
                    break;
                case "apellido":
                     everyInputs[i].addEventListener('blur',validarApellido);
                    break;
                case "edad":
                    everyInputs[i].addEventListener('blur',validarEdad);
                    break;
                case "email":
                    everyInputs[i].addEventListener('blur',validarEmail);
                    break;
                default :break;
            }
    }
function estilo(){
    this.style.backgroundColor="yellow";
}
function estilo2(inputElement){
    this.style.background='transparent';
    this.nextSibling.src="http://images.all-free-download.com/images/graphiclarge/tick_ok_sign_4190.jpg";
}
function estiloRojo(inElement){
    inElement.style.backgroundColor="red";
    inElement.nextSibling.src="http://griponclimate.files.wordpress.com/2013/03/wrong.png";
}
       
function validarNombre(){
        var nombre=document.getElementById("nombre");   
        var expresionRegular=/^\w{3,}$/;
        if ((expresionRegular.test(nombre.value))==true){
            nombreOk=true;
            estilo2(nombre);
        }
        else {
            nombreOk=false;
            estiloRojo(nombre);
        }
   
}

function validarApellido(){
        var apellido=document.getElementById("apellido");
        var expresionRegular=/^\w{3,}$/;
        if ((expresionRegular.test(apellido.value))==true){
            apellidoOk=true;
            estilo2(apellido);
        }
        else {
            apellidoOk=false;
            estiloRojo(apellido);
        }
   
}

function validarEdad(){
    var edad=document.getElementById("edad");
    if ((edad.value>10) && (edad.value<99)){
        edadOk=true;
        estilo2(edad);
    }
    else {
        edadOk=false;
        estiloRojo(edad);   
    }
   
}
   
function validarEmail(){
    var valorEmail=document.getElementById("email");
    var expresionRegular=/^([\w-\.]{3,}\@.+\..+)$/;
    var email=convertirMinusculas(valorEmail.value);
    email=comprobarAtEmail(email);
    if ((expresionRegular.test(email))==true) {
        emailOk=true;
        estilo2(valorEmail);
}
else {
        emailOk=false;
estiloRojo(valorEmail);   
}
   
}
   
 
function convertirMinusculas(email){
    return email.toLowerCase();   
    }
   
function comprobarAtEmail(email){
    var expresion=/\sat\s/g;
    return email.replace(expresion,'@');
}

    }
function validarDatos(){
    var msg='Los datos que debe rectificar son:';
    if (nombreOk && apellidoOk && edadOk && emailOk){
        alert ("Ha introducido todos los datos correctamente y su formulario va a ser enviado");
        return true;
    }else{
        if (nombreOk===false){
            msg = msg + ' nombre ';
        }
        if (apellidoOk===false){
            msg = msg + ' apellido ';
        }
        if (edadOk===false){
            msg = msg + ' edad ';
        }
        if (emailOk===false){
            msg = msg + ' email ';   
        }
        alert (msg);
        return false;
    }
}

</script>
<body>
    <h1>La web para aprender programacion</h1>
    <p>Esta cantidad de eventos puede resultar desconcertante por excesiva. No te preocupes por entender ahora el significado de cada uno de ellos. Simplemente ten unas nociones básicas que te permitan resolver los retos que como programador te puedan ir surgiendo.</p>
    <p>Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.</p>
    <img id="img1" src="http://i.imgur.com/tq5Bs.png" />
<form name="miniformualario" class="formulario" method="get" onsubmit="return validarDatos()">
<label >Escriba nombre</label>   
<input type="text" id="nombre" name="nombre"/><img width="20" height="20"/><br/>
<label>apellidos</label>
<input type="text" id="apellido" name="apellido"/><img width="20" height="20"/><br/>
<label>edad</label>
<input type="text" id="edad" name="edad"/><img width="20" height="20"/><br/>
<label>Correo electronico</label>
<input type="text" id="email" name="email"/><img width="20" height="20"/><br/><br/>
<input type="submit"  value="Enviar" />
<input type="reset" value="Reiniciar datos" />   
   
</form>
<script>
       
   
</script>
</body>
</html>

245
Adjunto mi código, para el ejercicio CU01158E del tutorial JavaScript desde cero:

Citar
Crea un documento HTML donde dentro del elemento body tengamos un div con id “principal”, dentro de principal otro div denominado “secundario”, y dentro de secundario otro div con id “terciario”. Dentro de terciario debe existir un párrafo con el texto: Ejemplo de bubbling (burbujeo). Añade eventListeners con el evento click para los párrafos y todos los elementos div, document y window, y una función de respuesta común para todos ellos que emita el mensaje de alerta <<Soy un nodo tipo NombreDelNodo y estoy burbujeando>>.

Ejemplo: al hacer click sobre el texto <<Ejemplo de bubbling (burbujeo)>> deberán empezar a aparecernos mensajes como: Soy un nodo tipo P y estoy burbujenado. Soy un nodo tipo DIV y estoy burbujeando. Soy un nodo tipo DIV y estoy burbujeando…

Tan solo comentar que el nodo window no existe por eso en el alert se nos muestra como "undefined"

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document curso aprenderaprogramar.com</title>
<script>
window.onload=function(){
    document.querySelector('p').addEventListener('click',ventana);
    document.getElementById('terciario').addEventListener('click',ventana);
    document.getElementById('secundario').addEventListener('click',ventana);
    document.getElementById('principal').addEventListener('click',ventana);
    document.addEventListener('click',ventana);
    window.addEventListener('click',ventana);
   
    function ventana(){
        alert ('Soy un nodo de tipo '+this.nodeName+' y estoy burbujeando');
    }
   
   
}   
   
</script>
</head>
<body>
    style="width:50%; height: 25%: margin:5%; padding:5%; border-style:solid;"
        <div id="secundario">
            <div id="terciario">
                <p>Ejemplo de bubbling (burbujeo). Pulsa aquí...</p>
            </div>
        </div>
    </div>
</body>
</html>

246
Gracias Pedro,  :o echemosle un vistazo

247
Adjunto mi código para el ejercicio CU01157E del curso de javascript desde cero:

Código: [Seleccionar]
<!DOCTYPE html>
<html> <head><title>Portal web - aprenderaprogramar.com</title>
<meta name="description" content="Portal web aprenderaprogramar.com">
<meta name="keywords" content="aprender, programar, cursos, libros"><meta charset="utf-8">
<script>
window.onload = function(){
   
    var haches = document.querySelectorAll('h1,h3');
    var pes = document.querySelectorAll('p');
    for (var i = 0; i<haches.length ;i++){
        haches[i].onmouseover = function(){return this.style.color = "orange"};
        haches[i].onmouseout = function(){return this.style.color = "brown"};
    }
   
    for (var i = 0;i<pes.length;i++){
       
        pes[i].onmouseover = function(){return this.style.backgroundColor = "yellow"};
        pes[i].onmouseout = function(){return this.style.backgroundColor = "transparent"};
    }
   
}   

   
</script>

</head>

 <body> <p><a href="principal.html" title="Página principal" >Ir a la pagina principal</a></p>

<h1>Novedades</h1>

<p>Aquí presentamos las novedades del sitio.</p>

<h3>Lanzamos el producto X-FASHION</h3>

<p>Este producto permite estirar la piel hasta dejarla como la de un bebé.</p>

<p><img src="http://i.imgur.com/tq5Bs.png" title="Imagen del producto" alt="imagen producto x-fashion" /></p>

<h3>Mejoramos el producto T-MOTION</h3>
<p>Hemos lanzado una nueva versión del producto T-MOTION</p>
<p><img src="http://i.imgur.com/SpZyc.png" title="Imagen del proudcto tmotion" alt="imagen producto tmotion" /></p>
</body>
</html>

248
Pego mi código para ejercicio CU01156E:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<script>

function numero(){
   
    var number = 0;
   
    do {
   
    var number = Number ( prompt ("Introduzca un numero superior a 10000000"));
   
    }while ((number<10000000) | (isNaN(number) == true));
   
    alert ('Ese numero introducido expresado con 3 numeros significativos es :'+number.toPrecision(3));
}   
   
function dosDecimales(){
   
    var expRegular = /^\d{1,}\.\d{4,}$/ ;
   
    do{
       
    var numero = Number (prompt('Introduzca un numero con al menos 4 decimales:'));
   
    } while (expRegular.test(numero) !== true);
       
    alert ('Su numero con solo dos decimales es : '+numero.toFixed(2));
}
   
function fraseNumero(){
   
    var expRegular = /^(\d{1,}|\d{1,}.\d{1,})\w{1,}$/ ;
   
    do{
       
    var frase = prompt ("Introduzca una frase que comience por un numero:");
       
    } while (expRegular.test(frase) !== true);
   
    alert ('El numero entero introducido al comienzo de la frase es'+parseInt(frase)+'\n y el numero en decimal es :'+parseFloat(frase));
}
   
</script>
</head>
<body>
    <button onclick="numero()">Introducir número >10000000</button>
    <button onclick="dosDecimales()">Introducir número con 4 decimales</button>
    <button onclick="fraseNumero()">Frase que empiece por numero</button>
</body>
</html>

249
Gracias Pedro por contestar.
Para el primer ejercicio sique es verdad lo que dices, es preferible tener las tres variables miVector, deMayorAMenor y deMenorAMayor.He modificado el código de dos maneras,
  • Sin añadir la nueva variable y añadir el nodo de miVector antes de hacer las operaciones de ordenar
  • Creando las tres variables
Código 1:
Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<script>
function ordenar(){
    var miVector = [33, 2, 36, 55, 4, 1];
   
    var deMenorAMayor = [33, 2, 36, 55, 4, 1];
   
    var texto1 = document.createElement('p');
   
    document.body.appendChild(texto1);
   
    texto1.innerHTML= miVector.valueOf();
   
    deMayorAMenor = miVector.sort(function (elem1,elem2){return elem2-elem1;});
   
    deMenorAMayor = deMenorAMayor.sort(function (elem1,elem2){return elem1-elem2;});
   
    var texto2 = document.createElement('p');
   
    document.body.appendChild(texto2);
   
    texto2.innerHTML = 'El resultado de ordenar de mayor a menor es : '+deMayorAMenor.valueOf();
   
    var texto3 = document.createElement('p');
   
    document.body.appendChild(texto3);
   
    texto3.innerHTML= 'El resultado de ordenar de menor a mayor es: '+deMenorAMayor.valueOf();
   
}
</script>

</head>
<body>
    <button onclick="ordenar()">Ordenar</button>
</body>
</html>
Código 2:
Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<script>
function ordenar(){
    var miVector = [33, 2, 36, 55, 4, 1];
   
    var deMenorAMayor = [33, 2, 36, 55, 4, 1];
   
    var deMayorAMenor = [33, 2, 36, 55, 4, 1];
   
    deMayorAMenor = deMayorAMenor.sort(function (elem1,elem2){return elem2-elem1;});
   
    deMenorAMayor = deMenorAMayor.sort(function (elem1,elem2){return elem1-elem2;});
   
    var texto1 = document.createElement('p');
   
    document.body.appendChild(texto1);
   
    texto1.innerHTML= miVector.valueOf();
   
    var texto2 = document.createElement('p');
   
    document.body.appendChild(texto2);
   
    texto2.innerHTML = 'El resultado de ordenar de mayor a menor es : '+deMayorAMenor.valueOf();
   
    var texto3 = document.createElement('p');
   
    document.body.appendChild(texto3);
   
    texto3.innerHTML= 'El resultado de ordenar de menor a mayor es: '+deMenorAMayor.valueOf();
   
}
</script>

</head>
<body>
    <button onclick="ordenar()">Ordenar</button>
</body>
</html>

Para el segundo ejercicio,
ese trocito de código hace que se ordene sin tener en cuenta que la letra tenga esas posibiliades que ponemos ahí, como que tenga acento, etc. Por ejemplo si no estuviera este código y la palabra Abaco de nuestro array tuviera acento se colocaría al final de nuestro array. Sin embargo, con el código este se coloca en primer lugar.

250
Si, lo que falte alguna letra de alguna expresion, variable o función es típico en mi.
Muchas gracias.

251
Mi código para el ejercicio CU01154E del tutorial javascript desde cero:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<script>
function comprobar(){
var expresionRegular = /^[A-C]\w+\ses\s\w+/;
var vector = ['Juan es guapo','Adriano no es feo','Adriano deja de ser guapo','Adriano ya es guapo','No es ahora','Ahora es no','Adriano es guapo']
    for (var i=0;i<vector.length;i++){
        var sino = expresionRegular.test(vector[i])? 'si ':' no ';
        msg = "El texto \'"+vector[i]+"\' "+sino+ ' cumple la expresion regular';
        alert (msg);
    }
}   
   
   
    </script>

</head>
<body>
   <p>La expresion regular es /^[A-C]\w+\ses\s\w+/</p>
    <button onclick="comprobar()">Expresion Regular</button>
</body>
</html>

252
Recuerda dimiste que el input se cierra así:
Código: [Seleccionar]
<input style="margin-left: 45%;" type="button" value="Info Meteorito" onclick="ejemploObjetos()"/>Por lo demás el código lo veo bien.
Saludos

253
Recuerda dimiste que las funciones tienen que realizar alguna acción, devolver algún dato.
Repasa la función obtenerFarenheit y como dice Pedro la llamada de la función la tienes que hacer llamando a la función.

254
Esa forma de diseñar páginas web se utilizaba tiempo, aunque habrá gente que todavía la utilice.
Hoy en día se usa diseño responsive, usando modulos como los display:flex o diseño grid-view, entre otras cosas.
No puedo ayudar mucho más Lorenzo31

255
Solucion al ejercicio 1 de la entrega CU01153E del curso JavaScript desde cero:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<script>
function ordenar(){
    var miVector = [33, 2, 36, 55, 4, 1];
    var deMenorAMayor = [33, 2, 36, 55, 4, 1];
   
    var deMayorAMenor = miVector.sort(function (elem1,elem2){return elem2-elem1;});
   
    var deMenorAMayor = deMenorAMayor.sort(function (elem1,elem2){return elem1-elem2;});
   
    var texto1 = document.createElement('p');
   
    document.body.appendChild(texto1);
   
    texto1.innerHTML= miVector.valueOf();
   
    var texto2 = document.createElement('p');
   
    document.body.appendChild(texto2);
   
    texto2.innerHTML = 'El resultado de ordenar de mayor a menor es : '+deMayorAMenor.valueOf();
   
    var texto3 = document.createElement('p');
   
    document.body.appendChild(texto3);
   
    texto3.innerHTML= 'El resultado de ordenar de menor a mayor es: '+deMenorAMayor.valueOf();
   
}
</script>

</head>
<body>
    <button onclick="ordenar()">Ordenar</button>
</body>
</html>


Y para el ejercicio 2, no he sabido resolverlo por mi mismo y encontré por la red un algortimo para resolverlo.

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<script>
   function compareIgnoreCase(a,b) {
        return (normalize(a) > normalize(b));
    }
    function normalize(a) {
        return a.toLowerCase()
                 .replace(/[Áá]/gi,"a").replace(/[Éé]/gi,"e").replace(/[Íí]/gi,"i")
                 .replace(/[Óó]/gi,"o").replace(/[Úú]/gi,"u").replace(/[Ññ]/gi,"nzz");
    }
   
   
    function ordenarVector(){
        var miArray = ['Moto', 'soto', 'Abaco', 'abeja', 'Sapo','nieve','Zumba','barco'];
        var ordMiArray = miArray.sort(compareIgnoreCase);
        var mostrar = document.createElement('p');
        document.body.appendChild(mostrar);
        mostrar.innerHTML =  ordMiArray.valueOf();
       
       
       
    }
</script>

</head>
<body>
   
</body>
<button onclick="ordenarVector()">Ordenar</button>
</html>

256
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>

257
Al ejecutar el código el mensaje de error que me sale por consola es:

"SyntaxError: missing ) after argument list"

Hacemos click para ver la linea donde está el error y nos lleva a esta:

"alert('Hello';"

que como podemos ver falta un parentesis de cierre ).

Ahora no sale ningún error, y al hacer click en el botón se ejecuta sin errores.

En la consola vamos obteniendo los pasos que realiza el código:

Citar
unObjeto es
Array [  ]
this es [object Window]

La primera linea es lo que le hemos indicado nosotros que muestre en la consola con console.log, que era 'unObjeto es'+unObjeto, pero que como está definido y no tiene ningún valor no pone nada.

Posteriormente le hemos indicado que nos mueste por consola el tipo de dato que es unObjeto.

Y por último le hemos pedido que mostrase por consola que tipo de objeto se estaba usando.

258
Adjunto primer ejercicio CU01150E del tutorial JavaScript:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script>
function Persona(nombre,nacionalidad){
    this.nombre = nombre || 'desconocido';
    this.nacionalidad = nacionalidad || 'desconocido';
}   
Persona.prototype.mostrarNacionalidad = function (){
    alert ('La nacionalidad de '+this.nombre+' es '+this.nacionalidad);
}

function Medico(nombre,nacionalidad,centro){
    Persona.call(this,nombre,nacionalidad);     
     this.centro = centro || 'desconocido';     
}

function Medicoespecialista(especialidad,centro,nombre,nacionalidad){
    Medico.call(this,nombre,nacionalidad,centro);     
     this.especialidad = especialidad || 'desconocida';
}
Medico.prototype = new Persona();
Medicoespecialista.prototype=new Medico();

   
function crearObjeto(){
    var especialista1 = new Medicoespecialista('traumatologo','Valencia','Paco','Español');
   
    especialista1.mostrarNacionalidad();
    var msg = 'La informacion del medico especialista es:\n';
    msg = msg + 'Su nombre es '+especialista1.nombre+' con nacionalidad '+especialista1.nacionalidad;
    msg = msg + ', su centro de trabajo es en '+especialista1.centro;
    msg = msg +'y su especialidad es la de '+especialista1.especialidad;
    alert(msg);
}

    </script>
</head>
<body>
   <button onclick="crearObjeto()">Medico</button>
   
</body>
</html>


Y el segundo ejercicio:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<script>
   
function persona(nombre){
    this.nombre = nombre || 'desconocido';
    this.saludar = function(mastexto){
        alert ('Te saluda ' +this.nombre+ ' que trabaja en '+this.institucionAcademica+mastexto);
    }
}
persona.prototype.definicion = 'Una persona es un ser vivo que tiene conocimiento';
   
function profesor(institucionAcademica,nombre){
    persona.call(this,nombre);
    this.institucionAcademica = institucionAcademica || 'desconocida';
}
   
function profesorInterino(mesesContrato,institucionAcademica,nombre){
    profesor.call(this,institucionAcademica,nombre);
    this.mesesContrato = mesesContrato || 0;
}

function profesorTitular(anyosTrabajados,institucionAcademica,nombre){
    profesor.call(this,institucionAcademica,nombre);
    this.anyosTrabajados = anyosTrabajados || 0;
}

profesor.prototype = new persona();
profesorInterino.prototype = new profesor();
profesorTitular.prototype = new profesor();


function crearObjeto(){
    profesorTitular1 = new profesorTitular(8,'Universidad de Leon','Juan');
    alert(profesorTitular1.definicion);
    profesorTitular1.saludar(' y lleva '+profesorTitular1.anyosTrabajados+' anyos trabajados');
}

    </script>
</head>
<body>
   <button onclick="crearObjeto()">Profesor Titular</button>
   
</body>
</html>

259
Gracias César, recordaré cerrar la sentencia de invocación con los ().

Respecto al ejercicio solo he tenido que variar el orden de esto:

Código: [Seleccionar]
    hortaliza.prototype.componentePrincipal = '<<Agua>>';
    hortaliza.prototype = new plantaCultivada;

Por este orden:

Código: [Seleccionar]
hortaliza.prototype = new plantaCultivada();
hortaliza.prototype.componentePrincipal = '<<Agua>>';

Llego a la conclusión que primero se tendrá que crear la invocación a los otros objetos.

Queda así el código:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<script>
    function vegetal(){
        this.nombre = '';   
    }
    vegetal.prototype.movilidad = '<<Ser vivo sin movilidad>>';
   
    function plantaCultivada(){
        this.nombreCientifico = 'desconocido';
    }
    plantaCultivada.prototype = new vegetal();       
   
    function hortaliza(){
        this.tipoHortaliza = 'indefinido';   
    }
   
    hortaliza.prototype = new plantaCultivada();
    hortaliza.prototype.componentePrincipal = '<<Agua>>';
   
   
    function Zanahoria(){
        this.podCalorias = 45;   
    }
    Zanahoria.prototype = new hortaliza();
   
    function Lechuga(){
        this.podCalorias = 31;   
    }
    Lechuga.prototype = new hortaliza();
   
    function Tomate(){
        this.podCalorias = 39;   
    }
    Tomate.prototype = new hortaliza();
   
   
   
    function plantas(){
        tomate1 = new Tomate;
        tomate1.nombre  = 'tomatito';
        tomate1.nombreCientifico = 'tomate rojito';
        tomate1.tipoHortaliza = 'tomatus';
        msg = 'El nombre del tomate1 es '+tomate1.nombre;
        msg = msg + ' que corresponde a ' +tomate1.movilidad;
        msg = msg + ' con nombre cientifico '+tomate1.nombreCientifico;
        msg = msg + ' y es del tipo de hortaliza '+tomate1.tipoHortaliza;
        msg = msg + ' cuyo componente principal es el '+tomate1.componentePrincipal;
        alert (msg);
    }
</script>
<body>
    <input type="button" value="Plantas" onclick="plantas()" />
</body>
</html>

Páginas: 1 ... 8 9 10 11 12 [13] 14 15

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".