Códigos del ejercicio CU01112E del curso JavaScript desde cero:
Crea un código JavaScript donde se genere un error por un mal uso de la palabra clave var y comprueba la respuesta del navegador.
1er Código HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Portal web</title>
<script type="text/javascript" src="CU01112E_1.js"></script>
</head>
<body>
<div>
<p>Aquí un párrafo de texto situado antes de la imagen, dentro de un div contenedor</p>
<img onclick="mostrarMensaje1()" src="http://i.imgur.com/afC0L.jpg" alt="Notepad++" title="Notepad++, un útil editor de texto">
<p style="background-color:yellow;" onclick="mostrarMensaje2()">Aquí otro párrafo de texto. JavaScript es un lenguaje utilizado para dotar de efectos dinámicos a las páginas web.
</p>
</div>
</body>
</html>
1er Código JavaScript: "CU01112E_1.js"
function mostrarMensaje1(){
alert('La variable precio vale:'+precio);
dato1=null;
alert('La variable dato1 vale:'+dato1);
var precio=22.55;
precio=precio+10;
alert('La variable vale:'+var precio);
alert('El dobre de precio es:'+(precio*2));
cantidad=10;
alert('El importe resultante de multiplicar precio por cantidad es:'+(precio*cantidad));
precio='muy caro';
alert('La variable precio vale ahora:'+precio);
alert('El doble de precio es ahora:'+(precio*2));
var precio=99.55;
alert('La variable precio ha sido declarada por segunda vez y ahora vale:'+precio);
var $descuento_aplicado=0.55;
alert('La variable $descuento_aplicado vale:'+$descuento_aplicado);
}
// No se ejecuta el JavaScript porque expresamente hemos utilizado la palabra var indebidamente.
Con este primer código no se ejecuta el JavaScript porque expresamente hemos utilizado la palabra var indebidamente.
SyntaxError: expected expression, got keyword 'var' nombreArchivo.html:13:27
ReferenceError: mostrarMensaje1 is not defined nombreArchivo.html:1:1
2o Código HTML:
Crea una variable y asignale los contenidos true y false, e intenta multiplicarlas por un número (por ejemplo por 2). ¿Qué resultados obtienes? ¿A qué crees que se deben estos resultados?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Portal web</title>
<script type="text/javascript" src="CU01112E_2.js"></script>
</head>
<body>
<div>
<p>Aquí un párrafo de texto situado antes de la imagen, dentro de un div contenedor</p>
<img onclick="mostrarMensaje1()" src="http://i.imgur.com/afC0L.jpg" alt="Notepad++" title="Notepad++, un útil editor de texto">
<p style="background-color:yellow;" onclick="mostrarMensaje2()">Aquí otro párrafo de texto. JavaScript es un lenguaje utilizado para dotar de efectos dinámicos a las páginas web.
</p>
</div>
</body>
</html>
2o Código JavaScript: "CU01112E_2.js"
function mostrarMensaje1(){
alert('La variable precio vale:'+precio);
dato1=null;
alert('La variable dato1 vale:'+dato1);
var precio=22.55;
precio=false;
alert('La variable vale:'+precio);
alert('El dobre de precio es:'+(precio*2));
cantidad=10;
alert('El importe resultante de multiplicar precio por cantidad es:'+(precio*cantidad));
precio='muy caro';
alert('La variable precio vale ahora:'+precio);
alert('El doble de precio es ahora:'+(precio*2));
var precio=99.55;
alert('La variable precio ha sido declarada por segunda vez y ahora vale:'+precio);
var $descuento_aplicado=0.55;
alert('La variable $descuento_aplicado vale:'+$descuento_aplicado);
}
// Si a una variable se le pone true como valor dicha variable tomo como valor "1". En cambio, si a la variable le establecemos el valor boolean false, la misma tomo el valor de "0".
Si asignamos valor false a la variable precio al multiplicar precio por 2 el resultado que se muestra es 0, "El dobre de precio es :0". El motivo es que si a una variable se le pone true como valor dicha variable tomo como valor "1". En cambio, si a la variable le establecemos el valor boolean false, la misma tomo el valor de "0".
Gracias.