domingo, 5 de marzo de 2017

Funciones para javascript
Introducción
Una función no es más que un bloque de enunciados que componen un comportamiento que puede ser invocado las veces que sea necesario.

Sintaxis general de una función

Una función de JavaScript presenta este aspecto:
function nombre_de_la_función(){ …enunciados a ejecutar… } 
Para ejecutar la función posteriormente no hay más que invocar su nombre en cualquier momento y desde cualquier parte de un código, con una excepción: la función debe haber sido definida anteriormente. Así, por ejemplo, este código:
function dame_una_a(){ alert("¡AAAAAAAAAAAAAAAAA!"); } dame_una_a(); 
ejecutaría la alerta, pero éste:
dame_una_a(); function dame_una_a(){ alert("¡AAAAAAAAAAAAAAAAA!"); } 
generaría un error, porque en el momento en que se invoca la función ésta aún no ha sido registrada.
Hay que poner especial atención a la hora de crear la funciones, para no repetir los nombres, principalmente porque esto no genera errores en JavaScript, y puede suponer quebraderos de cabeza cuando un script no funciona pero la consola de errores no muestra mensaje alguno.
Si definimos dos funciones con el mismo nombre, como en este ejemplo: 
function alerta(){ alert("Ia Ia Shub-Niggurath"); } function alerta(){ alert("Klaatu barada nikto"); } alerta(); 
sólo funciona la segunda, que ha sido la última definida.
Funciones y argumentos
Podemos desear que una función ejecute unos enunciados en los que opere con una serie de valores que no hayamos definido dentro de la misma, sino que los reciba de otra función o enunciado. Esos valores son los argumentos, que se especifican entre los paréntesis que van tras el nombre de la función, y se separan por comas:
function nombre_de_la_función(argumento1,argumento1,…){ …enunciados a ejecutar… } 
Los argumentos se nombran como las variables:
function sumar(x,y){ var total = x + y; alert(total); } 
Si después se ejecuta unas líneas como las siguientes:
sumar(1,2); sumar(3,5); sumar(8,13); 
en la función sumar total adquiere sucesivamente los valores de 3, 8 y 21, que es lo que mostrarían tres alertas.
Aunque en los ejemplos emplee numerales, como argumentos se puede enviar cualquier variable. Sólo hay que recordar que si se trata de una cadena literal, debe ir entrecomillada: la_función('cadena','otra_cadena'); 
Por último, sobre los argumentos hay que recordar las respuestas a tres preguntas: 
  • ¿Qué ocurre si se envía a una función menos argumentos que los que se han especificado?: Los argumentos que no han recibido un valor adoptan el de undefined. 
  • ¿Qué ocurre si se envía a una función más argumentos que los que se han especificado?: Los argumentos que sobran son elgantemente ignorados. 
  • ¿Cuántos argumentos se pueden especificar como máximo?: 255. 
Variables y su ámbito
El ámbito sería algo así como el espacio en el que las variables existen y al que pueden acceder enunciados u otras funciones. Si se define una variable dentro de una función, esa variable sólo existe para esa función, y otras funciones no pueden acceder a su valor a menos que lo reciban como un argumento:
function concatenar_cadenas(){ var a = "orda"; var b = "lía"; var c = a + b; } function mostrar_resultado(){ alert(c); } concatenar_cadenas(); mostrar_resultado(); 
En este caso no obtenemos una alerta con «ordalía», sino un error, puesto que en la función mostrar_resultado()pedimos que se muestre el valor de una variable que no existe en su ámbito. Dicho de otra manera, las variables existen sólo para concatenar_cadenas(), y aunque adquieren los valores definidos en cuanto ejecutamos la función, ésta es una «barrera» que impide que se pueda acceder a aquellos desde fuera.
Para que el código funionase, deberíamos definir las variables fuera de ambas funciones, para que su ámbito sea global:
var a = ""; var b = ""; var c = ""; function concatenar_cadenas(){ a = "orda"; b = "lía"; c = a + b; } function mostrar_resultado(){ alert(c); } concatenar_cadenas(); mostrar_resultado(); 
De esta forma, toda función puede acceder a las variables. concatenar_cadenas() modifica los valores iniciales, pero ahora estos se almacenan de manera global fuera de ella; así están disponibles para mostrar_resultado().
return
Hay otra opción con la que solucionar el problema anterior, y que además puede ser útil en otras ocasiones: return que permite devolver valores al origen de la invocación de una función. El esquema de funcionamiento es algo así:

Un ejemplo esquemático del funcionamiento de return
Rehagamos el ejemplo anterior que no funcionaba por cuestiones de ámbito de las variables, pero enviando el resultado por medio de return:
function concatenar_cadenas(){ var a = "orda"; var b = "lía"; var c = a + b; return c; } function mostrar_resultado(){ alert(concatenar_cadenas()); } mostrar_resultado(); 
Ahora mostrar_resultado cuenta con el alert que tiene que mostrar el resultado de la concatenación. En la alerta invocamos la función concatenar_cadenas, que devuelve el valor de c; así, es como si en hubiéramos hecho una alerta de c directamente

FECHA: MARZO 3 2017
Propiedad de objetos web innerHTML


La propiedad más interesante de los objetos Web a los que podemos acceder, no forma parte del Standard oficial de HTML.

Se trata de la propiedad innerHTML que fue introducida por Microsoft en Internet Explorer como un método de acceso rápido al contenido completo de un contenedor en HTML. Rápidamente el resto de exploradores lo añadieron en su soporte de lenguaje.
Podemos usar innerHTML para recuperar el contenido actual de un contenedor o insertar nuevo contenido en ese contenedor.
Por contenedor entendemos aquello que está entre las cláusulas < div > y < /div >.
El elemento DIV define un contenedor genérico, el cuál permite a los programadores definir estilos o bloques de contenido.
Como parámetros a DIV tenemos ID, CLASS y ALIGN, aunque éste ultimo cada vez se emplea menos en favor de las CSS.

Ejemplos de uso de DIV.
<div id="primero"> <p>Algún texto.</p> <p>Un poco más de texto.</p></div> <div id="segundo"></div>
El primero de los ejemplos muestra 2 párrafos de texto en la página, mientras que el Segundo no muestra nada; simplemente es un contenedor vacío en estos momentos.
Podemos recuperar el contenido de DIV de la siguiente forma:
var contenido = document.getElementById('primero').innerHTML; La variable contenido almacena ahora todo el texto de los dos párrafos así como las marcas 
< p > y < /p >.
Podríamos reemplazar los dos párrafos completamente asignándoles un nuevo valor.
document.getElementById('primero').innerHTML = '<p>Un parrafo de texto para reemplazar los dos anteriores.</p>’;

FECHA: MARZO 5 2017

martes, 21 de febrero de 2017

Ejercicio de ejemplo empleando funciones

<script>
function s(){
var a = parseInt(document.getElementById("a").value);
var b = parseInt(document.getElementById("b").value);
//alert ( a + b);
//document.write( a + b);
var rta = a + b;
document.getElementById("rta").value = rta;
document.getElementById("holita").innerHTML = "<marquee><b><font color='#ff0000'>" + "Esto es el resultado de mi suma = " + (a + b ) + "</font></b></marquee>";
}
function r(){
var a = parseInt(document.getElementById("a").value);
var b = parseInt(document.getElementById("b").value);
//alert ( a + b);
//document.write( a + b);
document.getElementById("rta").value = a - b;
document.getElementById("holita").innerHTML = "<marquee><b><font color='#ff0000'>" + "Esto es el resultado de mi resta = " + (a - b ) + "</font></b></marquee>";
}

</script>
<body>


<label>A:</label> <input type="text" id="a" autocomplete="off"><br>
B: <input type="text" id="b"><br>

Rta: <input type="text" id="rta" readonly ><hr>
&nbsp;&nbsp;<input type="button" value="Sumar" onclick="s();" >&nbsp;&nbsp;
<input type="button" value="Restar" onclick="r();">&nbsp;&nbsp;
<input type="button" value="Multiplicar" >

<hr>
<div id="holita">esto es mi mensaje</div>
<hr>

</body>

FECHA: FEBRERO 21 2017

sábado, 11 de febrero de 2017

martes, 7 de febrero de 2017

Inicio de clase 1 de febrero de el 2017 tema javascript

FECHA: FEBRERO 1 2017

domingo, 16 de octubre de 2016

Clase Math

Esta clase es un contenedor que tiene diversas constantes (como Math.E y Math.PI) y los siguientes métodos matemáticos:

Método
Descripción
Expresión de ejemplo
Resultado del ejemplo
abs
Valor absoluto
Math.abs(-2)
2
sin, cos, tan
Funciones trigonométricas, reciben el argumento en radianes
Math.cos(Math.PI)
-1
asin, acos, atan
Funciones trigonométricas inversas
Math.asin(1)
1.57
exp, log
Exponenciación y logaritmo, base E
Math.log(Math.E)
1
ceil
Devuelve el entero más pequeño mayor o igual al argumento
Math.ceil(-2.7)
-2
floor
Devuelve el entero más grande menor o igual al argumento
Math.floor(-2.7)
-3
round
Devuelve el entero más cercano o igual al argumento
Math.round(-2.7)
-3
min, max
Devuelve el menor (o mayor) de sus dos argumentos
Math.min(2,4)
2
pow
Exponenciación, siendo el primer argumento la base y el segundo el exponente
Math.pow(2,3)
8
sqrt
Raíz cuadrada
Math.sqrt(25)
5
random
Genera un valor aleatorio comprendido entre 0 y 1.
Math.random()
Ej. 0.7345

Ejemplo: Confeccionar un programa que permita cargar un valor comprendido entre 1 y 10. Luego generar un valor aleatorio entre 1 y 10, mostrar un mensaje con el número sorteado e indicar si ganó o perdió:
<html>
<head>
</head>
<body>
<script type="text/javascript">
var selec=prompt('Ingrese un valor entre 1 y 10','');
selec=parseInt(selec);
var num=parseInt(Math.random()*10)+1;
if (num==selec)
document.write('Ganó el número que se sorteó es el '+ num);
else
document.write('Lo siento se sorteó el valor '+num+' y usted eligió el '+selec);
</script>
</body>
</html>

Para generar un valor aleatorio comprendido entre 1 y 10 debemos plantear lo siguiente:
var num=parseInt(Math.random()*10)+1;
Al multiplicar Math.random() por 10, nos genera un valor aleatorio comprendido entre un valor mayor a 0 y menor a 10, luego, con la función parseInt, obtenemos sólo la parte entera. Finalmente sumamos uno.
El valor que cargó el operador se encuentra en:
var selec=prompt('Ingrese un valor entre 1 y 10','');

Con un simple if validamos si coinciden los valores (el generado y el ingresado por teclado)


FECHA: OCTUBRE 16 2016
Funciones

En programación es muy frecuente que un determinado procedimiento de cálculo definido por un grupo de sentencias tenga que repetirse varias veces, ya sea en un mismo programa o en otros programas, lo cual implica que se tenga que escribir tantos grupos de aquellas sentencias como veces aparezca dicho proceso.
La herramienta más potente con que se cuenta para facilitar, reducir y dividir el trabajo en programación, es escribir aquellos grupos de sentencias una sola y única vez bajo la forma de una FUNCION.
Un programa es una cosa compleja de realizar y por lo tanto es importante que esté bien ESTRUCTURADO y también que sea inteligible para las personas. Si un grupo de sentencias realiza una tarea bien definida, entonces puede estar justificado el aislar estas sentencias formando una función, aunque resulte que sólo se le llame o use una vez.
Hasta ahora hemos visto como resolver un problema planteando un único algoritmo.
Con funciones podemos segmentar un programa en varias partes.
Frente a un problema, planteamos un algoritmo, éste puede constar de pequeños algoritmos.
Una función es un conjunto de instrucciones que resuelven una parte del problema y que puede ser utilizado (llamado) desde diferentes partes de un programa.
Consta de un nombre y parámetros. Con el nombre llamamos a la función, es decir, hacemos referencia a la misma. Los parámetros son valores que se envían y son indispensables para la resolución del mismo. La función realizará alguna operación con los parámetros que le enviamos. Podemos cargar una variable, consultarla, modificarla, imprimirla, etc.

Incluso los programas más sencillos tienen la necesidad de fragmentarse. Las funciones son los únicos tipos de subprogramas que acepta JavaScript. Tienen la siguiente estructura:
function <nombre de función>(argumento1, argumento2, ..., argumento n)
{
  <código de la función>
}
Debemos buscar un nombre de función que nos indique cuál es su objetivo (Si la función recibe un string y lo centra, tal vez deberíamos llamarla centrarTitulo). Veremos que una función puede variar bastante en su estructura, puede tener o no parámetros, retornar un valor, etc.

Ejemplo: Mostrar un mensaje que se repita 3 veces en la página con el siguiente texto:
'Cuidado'
'Ingrese su documento correctamente'

'Cuidado'
'Ingrese su documento correctamente'

'Cuidado'
'Ingrese su documento correctamente'
La solución sin emplear funciones es:
<html>
<head>
</head>
<body>

<script type="text/javascript">
document.write("Cuidado<br>");
document.write("Ingrese su documento correctamente<br>");
document.write("Cuidado<br>");
document.write("Ingrese su documento correctamente<br>");
document.write("Cuidado<br>");
document.write("Ingrese su documento correctamente<br>");
</script>
</body>
</html>
Empleando una función:
<html>
<head>
</head>
<body>
<script type="text/javascript">
function mostrarMensaje()
{
 document.write("Cuidado<br>");
 document.write("Ingrese su documento correctamente<br>");
}
mostrarMensaje();
mostrarMensaje();
mostrarMensaje();
</script>
</body>
</html>
Recordemos que JavaScript es sensible a mayúsculas y minúsculas. Si fijamos como nombre a la función mostrarTitulo (es decir la segunda palabra con mayúscula) debemos respetar este nombre cuando la llamemos a dicha función.
Es importante notar que para que una función se ejecute debemos llamarla desde fuera por su nombre (en este ejemplo: mostrarMensaje()).
Cada vez que se llama una función se ejecutan todas las líneas contenidas en la misma.
Si no se llama a la función, las instrucciones de la misma nunca se ejecutarán.
A una función la podemos llamar tantas veces como necesitemos.

Las funciones nos ahorran escribir código que se repite con frecuencia y permite que nuestro programa sea más entendible.


FECHA: OCTUBRE 16 2016