Java Scripts
Java Scripts
“SANTIAGO MARIÑO”
EXTENSIÓN BARCELONA
ESCUELA DE INGENIERÍA EN SISTEMA
CATEDRA: ELECTIVA IV
JAVASCRIPTS
Profesor:
Ramon Aray
Integrante:
Una página web dinámica es aquella que incorpora efectos como texto que
aparece y desaparece, animaciones, acciones que se activan al pulsar botones y
ventanas con mensajes de aviso al usuario.
Una página web dinámica es aquella que incorpora efectos como texto que
aparece y desaparece, animaciones, acciones que se activan al pulsar botones y
ventanas con mensajes de aviso al usuario.
Características de JavaScript.
• Sencillo de manejar, no hace falta tener conocimientos de programación
para poder hacer un programa en JavaScript.
• Maneja objetos dentro de nuestra página Web y sobre ese objeto podemos
definir diferentes eventos. Dichos objetos facilitan la programación de
paginas interactivas, a la vez que se evita la posibilidad de ejecutar
comandos que puedan ser peligrosos para la maquina del usuario, tales
como formateo de unidades, modificar archivos etc.
Tipos de datos
Tipos de datos numérico
En este lenguaje sólo existe un tipo de datos numérico, al contrario que ocurre en
la mayoría de los lenguajes más conocidos. Todos los números son por tanto del
tipo numérico, independientemente de la precisión que tengan o si son números
reales o enteros. Los números enteros son números que no tienen coma, como 3
o 339. Los números reales son números fraccionarios, como 2.69 o 0.25, que
también se pueden escribir en notación científica, por ejemplo 2.482e12.
• Base 8, también llamado sistema octal, que utiliza dígitos del 0 al 7. Para
escribir un número en octal basta con escribir ese número precedido de un
0, por ejemplo 045.
Tipo boleano
Los dos valores que pueden tener las variables boleanas son true o false.
Todo lo que se coloca entre comillas, como en los ejemplos anteriores es tratado
como una cadena de caracteres independientemente de lo que coloquemos en el
interior de las comillas. Por ejemplo, en una variable de texto podemos guardar
números y en ese caso tenemos que tener en cuenta que las variables de tipo
texto y las numéricas no son la misma cosa y mientras que las de numéricas nos
sirven para hacer cálculos matemáticos las de texto no.
Caracteres de escape en cadenas de texto
Hay una serie de caracteres especiales que sirven para expresar en una cadena
de texto determinados controles como puede ser un salto de línea o un tabulador.
Estos son los caracteres de escape y se escriben con una notación especial que
comienza por una contra barra (una barra inclinada al revés de la normal '') y luego
se coloca el código del carácter a mostrar.
Salto de línea: \n
Tabulador: \t
Retorno de carro: \r
Avance de página: \f
Retroceder espacio: \b
Contrabarra: \\
Expresiones
Una expresión es un conjunto de literales (valores literales), variables, operadores
y expresiones para un sólo valor. JavaScript soporta los siguientes tipos de
expresiones:
Operadores
JavaScript soporta varios operadores, los cuales actúan sobre un valor o conjunto
de valores. JavaScript soporta operadores aritméticos, de cadena, lógicos y de
comparación&endash;incluyendo operadores unarios y binarios.
Tipos de operadores
Operadores Aritméticos
Operador Función
+ Suma
- Resta y negación
* Multiplicación
/ División
% Módulo: resto de la división entera
Incremento (puede ser preincremento o
++
postincremento)
Decremento (puede ser predecremento o
--
postdecremento)
Operadores Lógicos
Los operadores lógicos o boleanos se emplean para que los programas tomen
desiciones sobre lo siguiente que hay que hacer. JavaScript, como la mayoría de
los demás lenguajes, tiene dos literales boleanos: true (verdadero) y false (falso).
Los operadores lógicos se emplean para crear expresiones que requieren estos
valores verdadero o falso.
Operador Función
NO (NOT. Indica el valor contrario (negado) que
!
contiene una variable.
Y (AND). Regresa true cuando ambos operadores
&&
son verdaderos.
O (OR). Regresa true si alguno de los operadores
|| es verdadero. Sólo regresa false cuando ambos
operadores son falsos.
Operadores de asignación
A excepción del síbolo =, el resto de los operadores junto con ++ y --, se los
conoce como operadores abreviados, porque proporciona una forma abreviada de
escribir expresiones.
Operador Función
& AND devuelve 1 si ambos operandos son 1
| OR devuelve 1 si al menos un operando vale 1
^ XOR devuelve 1 si los operandos son distintos
Operadores de comparación
Operador Función
== Es igual a
!= Diferente
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
Para realizar este tipo de programas son necesarias las estructuras de control
de flujo, que son instrucciones del tipo "si se cumple esta condición, hazlo; si no
se cumple, haz esto otro". También existen instrucciones del tipo "repite esto
mientras se cumpla esta condición".
Construcciones de Decisión
Estructura if
if(condicion) {
...
}
Ejemplo:
if(mostrarMensaje) {
alert("Hola Mundo");
}
if(mostrarMensaje == true) {
alert("Hola Mundo");
}
La condición que controla el if() puede combinar los diferentes operadores lógicos
y relacionales mostrados anteriormente:
if(!mostrado) {
alert("Es la primera vez que se muestra el mensaje");
}
Estructura if...else
En ocasiones, las decisiones que se deben realizar no son del tipo "si se cumple
la condición, hazlo; si no se cumple, no hagas nada". Normalmente las
condiciones suelen ser del tipo "si se cumple esta condición, hazlo; si no se
cumple, haz esto otro".
Para este segundo tipo de decisiones, existe una variante de la estructura if
llamada if...else. Su definición formal es la siguiente:
if(condicion) {
...
}
else {
...
}
if(nombre == "") {
alert("Aún no nos has dicho tu nombre");
}
else {
alert("Hemos guardado tu nombre");
}
La condición del if() anterior se construye mediante el operador ==, que es el que
se emplea para comparar dos valores (no confundir con el operador = que se
utiliza para asignar valores). En el ejemplo anterior, si la cadena de texto
almacenada en la variable nombre es vacía (es decir, es igual a "") se muestra el
mensaje definido en el if(). En otro caso, se muestra el mensaje definido en el
bloque else { }.
La estructura if...else se puede encadenar para realizar varias comprobaciones
seguidas:
Construcciones de Bucle.
Estructura for
var veces = 0;
if(veces < 4) {
alert("Mensaje");
veces++;
}
var i = 0;
i<5
i++
Normalmente, la variable que controla los bucles for se llama i, ya que recuerda a
la palabra índice y su nombre tan corto ahorra mucho tiempo y espacio.
Estructura for...in
for(indice in array) {
...
}
Si se quieren recorrer todos los elementos que forman un array, la estructura for...in
es la forma más eficiente de hacerlo, como se muestra en el siguiente ejemplo:
for(i in dias) {
alert(dias[i]);
}
La variable que se indica como índice es la que se puede utilizar dentro del bucle
for...in para acceder a los elementos del array. De esta forma, en la primera
repetición del bucle la variable i vale 0 y en la última vale 6.
Etiqueta ‘noscript’.
El elemento NOSCRIPT permite a los autores proporcionar contenido alternativo
cuando un script no es ejecutado. El contenido de un elemento NOSCRIPT sólo
debería ser representado por un agente de usuario capaz de reconocer scripts en
los casos siguientes:
Sintaxis
El lenguaje HTML define la etiqueta <noscript> para mostrar un mensaje al usuario
cuando su navegador no puede ejecutar JavaScript. El siguiente código muestra
un ejemplo del uso de la etiqueta <noscript>:
Se le llama ámbito de las variables al lugar donde estas están disponibles. Por lo
general, cuando declaramos una variable hacemos que esté disponible en el lugar
donde se ha declarado, esto ocurre en todos los lenguajes de programación y
como Javascript se define dentro de una página web, las variables que
declaremos en la página estarán accesibles dentro de ella.
Variables globales
Como hemos dicho, las variables globales son las que están declaradas en el
ámbito más amplio posible, que en Javascript es una página web. Para declarar
una variable global a la página simplemente lo haremos en un script, con la
palabra var.
<SCRIPT>
var variableGlobal
</SCRIPT>
Las variables globales son accesibles desde cualquier lugar de la página, es decir,
desde el script donde se han declarado y todos los demás scripts de la página,
incluidos los manejadores de eventos, como el onclick, que ya vimos que se podía
incluir dentro de determinadas etiquetas HTML.
Variables locales
También podremos declarar variables en lugares más acotados, como por ejemplo
una función. A estas variables les llamaremos locales. Cuando se declaren
variables locales sólo podremos acceder a ellas dentro del lugar donde se ha
declarado, es decir, si la habíamos declarado en una función solo podremos
acceder a ella cuando estemos en esa función.
Las variables pueden ser locales a una función, pero también pueden ser locales a
otros ámbitos, como por ejemplo un bucle. En general, son ámbitos locales
cualquier lugar acotado por llaves.
<SCRIPT>
function miFuncion (){
var variableLocal
}
</SCRIPT>
En el script anterior hemos declarado una variable dentro de una función, por lo
que esa variable sólo tendrá validez dentro de la función. Se pueden ver cómo se
utilizan las llaves para acotar el lugar donde está definida esa función o su ámbito.
No hay problema en declarar una variable local con el mismo nombre que una
global, en este caso la variable global será visible desde toda la página, excepto
en el ámbito donde está declarada la variable local ya que en este sitio ese
nombre de variable está ocupado por la local y es ella quien tiene validez. En
resumen, la variable que tendrá validez en cualquier sitio de la página es la global.
Menos en el ámbito donde está declarada la variable local, que será ella quien
tenga validez.
<SCRIPT>
var numero = 2
function miFuncion (){
var numero = 19
document.write(numero) //imprime 19
}
document.write(numero) //imprime 2
</SCRIPT>
Un consejo para los principiantes podría ser no declarar variables con los mismos
nombres, para que nunca haya lugar a confusión sobre qué variable es la que
tiene validez en cada momento.
<SCRIPT>
var numero = 2
function miFuncion (){
numero = 19
document.write(numero) //imprime 19
}
document.write(numero) //imprime 2
//llamamos a la función
miFuncion()
document.write(numero) //imprime 19
</SCRIPT>
En este ejemplo, tenemos una variable global a la página llamada numero, que
contiene un 2. También tenemos una función que utiliza la variable numero sin
haberla declarado con var, por lo que la variable numero de la funcion será la
misma variable global numero declarada fuera de la función. En una situación
como esta, al ejecutar la función se sobreescribirá la variable numero y el dato que
había antes de ejecutar la función se perderá.
.
for(i in letras) {
if(letras[i] == 'a') {
break;
}
else {
resultado += letras[i];
}
}
alert(resultado);
// muestra "En un lug"
for(i in letras) {
if(letras[i] == 'a') {
continue;
}
else {
resultado += letras[i];
}
}
alert(resultado);
// muestra "En un lugr de l Mnch de cuyo nombre no quiero cordrme..."
En este caso, cuando se encuentra una letra "a" no se termina el bucle, sino que
no se ejecutan las instrucciones de esa repetición y se pasa directamente a la
siguiente repetición del bucle for.
La utilidad de continue es que permite utilizar el bucle for para filtrar los resultados
en función de algunas condiciones o cuando el valor de alguna variable coincide
con un valor determinado.
El objeto Window
Por último, indicar que en Javascript, se supone que todas las propiedades y
métodos que llamamos sin utilizar ninguna referencia, en realidad se hacen
utilizando esa referencia window. Así, por ejemplo, cuando ejecutamos el método
alert() en realidad lo que estamos haciendo es ejecutar el método window.alert().
El objeto frame
Todos sabemos que la ventana del navegador puede ser dividida en varios frames
que contengan cada uno de ellos un documento en el que mostrar contenidos
diferentes. Al igual que con las ventanas, cada uno de estos frames puede ser
nombrado y referenciado, lo que nos permite cargar documentos en un marco sin
que esto afecte al resto.
Realmente cada frame se representa con un objeto window, esto quiere decir que
el objeto frame tiene todas las propiedades y métodos del objeto window.
Propiedades
Métodos
El objeto Location
Href
Permite el acceso a la dirección de la página actual. Si lo cambiamos
cambiaremos de página.
Protocol
Host
Patíname
Hash
Si hemos accedido a una página por medio de un ancla, contiene una almohadilla
seguida de ese ancla.
Ejemplo:
<script language="Javascript">
function
Localizacion()
{
alert("URL: "+window.location.href);
}
</script>
El objeto Document
lastModified
bgColor
fgColor
title
Ejemplo:
<script language="Javascript">
function
PruebasDocumento()
{
alert(document.title);
alert(document.lastModified);
}
El objeto History
<A HREF="javascript:window.history.back()">
forward()
Ir a la página siguiente.
go(donde)
Ir a donde se indique, siendo donde un número tal que go(1) significa lo mismo
que forward() y go(-1) es equivalente a back().
El objeto Navigator
appName
appVersion
cpuClass
Ejemplo:
<SCRIPT LANGUAGE="JavaScript">
function Navegador()
{
alert(navigator.appName);
alert(navigator.appVersion);
alert(navigator.cpuClass);
if
(navigator.javaEnabled())
alert("SÍ está preparado para
soportar Applets de Java");
else
alert("NO está preparado
para soportar Applets de Java");
}
</SCRIPT>
Funciones.
A la hora de hacer un programa ligeramente grande existen determinados
procesos que se pueden concebir de forma independiente, y que son más
sencillos de resolver que el problema entero. Además, estos suelen ser realizados
repetidas veces a lo largo de la ejecución del programa. Estos procesos se
pueden agrupar en una función, definida para que no tengamos que repetir una y
otra vez ese código en nuestros scripts, sino que simplemente llamamos a la
función y ella se encarga de hacer todo lo que debe.
Así que podemos ver una función como una serie de instrucciones que
englobamos dentro de un mismo proceso. Este proceso se podrá luego ejecutar
desde cualquier otro sitio con solo llamarlo. Por ejemplo, en una página web
puede haber una función para cambiar el color del fondo y desde cualquier punto
de la página podríamos llamarla para que nos cambie el color cuando lo
deseemos.
function escribirBienvenida()
{
document.write("<H1>Hola a todos</H1>")
escribirBienvenida()
nombre_objeto.nombre_propiedad
nombre_objeto.nombre_metodo()
nombre_objeto["nombre_propiedad"]
En el DOM, todos los objetos dependen jerárquicamente del objeto window. Para
acceder al objeto document, sería necesario usar siempre la sintaxis
window.document. Sin embargo, en JavaScript el objeto window es el objeto por
defecto, de modo que puede omitirse.
Modelos de eventos.
Tipos de eventos
La siguiente tabla resume los eventos más importantes definidos por JavaScript:
Las acciones típicas que realiza un usuario en una página web pueden dar lugar a
una sucesión de eventos. Al pulsar por ejemplo sobre un botón de tipo <input
type="submit"> se desencadenan los eventos onmousedown, onclick, onmouseup
y onsubmit de forma consecutiva
Los tooltips son esos mensajes emergentes que surgen para añadir más
información, generalmente, a un enlace o una imagen. Los tooltips en html suelen
generarse por medio del atributo “title” y, en el caso de las imágenes,
erróneamente, con el atributo “alt” que, a pesar de presentarse como un tooltip en
muchos navegadores, es un reemplazo de texto para las mismas.
<body>
<p>Un párrafo de texto.</p>
</body>
</html>
Para que la página XHTML resultante sea válida, es necesario añadir el atributo
type a la etiqueta <script>. Los valores que se incluyen en el atributo type están
estandarizados y para el caso de JavaScript, el valor correcto es text/javascript.
Formularios
En el capítulo anterior veíamos que uno de los objetos descendientes del objeto
document era el objeto Form. En este capítulo, pues, vamos a estudiar con
detenimiento este objeto y todos sus componentes.
Menú desplegable.
La navegación de algunas páginas web se realiza mediante menús desplegables,
que disponen de varios niveles jerárquicos que se despliegan a medida que el
usuario pasa el puntero del ratón por encima de cada elemento. Aunque CSS
permite realizar menús desplegables horizontales y verticales de cualquier nivel de
profundidad, los navegadores de la familia Internet Explorer versión 6.0 y
anteriores no disponen del suficiente soporte de CSS como para crear este tipo de
menús.
Conclusión
La importancia de javascript en el diseño de paginas web es que nos permite una
mayor interacción con el medio ya sea agregando comentarios editando fechas,
nos convierte en parte de la web, es un lenguaje fácil de dominar y que nos aporta
un valor agregado a las funciones que puedan desarrollar nuestro sitio web.
www.sangoogle.com