Javascript
Javascript
1. Definicin.
JavaScript es un lenguaje interpretado lnea a lnea y orientado a HTML; por tanto,
no necesita de un compilador. Es un lenguaje de programacin que se puede
utilizar para construir sitios Web y para hacerlos ms interactivos. Aunque
comparte muchas de las caractersticas y de las estructuras del lenguaje Java, fue
desarrollado independientemente. El lenguaje JavaScript puede interactuar con el
cdigo HTML, permitiendo a los programadores web utilizar contenido dinmico.
Se utiliza principalmente del lado del cliente (es decir, se ejecuta en nuestro
ordenador a travs de los navegadores webs). En la actualidad, casi todos los
navegadores modernos interpretan el cdigo JavaScript integrado en las pginas
web.
Es necesario resaltar que hay dos tipos de JavaScript: por un lado est el que se
ejecuta en el cliente (navegador), este es el JavaScript propiamente dicho, aunque
tcnicamente se denomina Navigator JavaScript. Pero tambin existe un
JavaScript que se ejecuta en el servidor, es ms reciente y se denomina LiveWire
JavaScript.
2. Estructura de JavaScript en HTML
2.1. Desde la pgina HTML.
<HTML>
<HEAD>
<TITLE>Ttulo de la pgina</TITLE>
</HEAD>
<BODY>
<script type="text/javascript">
</script>
</BODY>
</HTML>
2.2.
<HTML>
<HEAD>
<script type="text/javascript"src="micodigo.js"></script>
</HEAD>
<BODY>
</BODY>
1
</HTML>
3. Caractersticas de JavaScript.
Su sintaxis es similar a la usada en Java; al ser un lenguaje del lado del cliente
este es interpretado por el navegador, no se necesita tener instalado ningn
Framework.
3.1.
Variables.
var a = 15;
var b = "gato";
Los nombres de las variables pueden comenzar por una letra, el guin bajo
(_) y el smbolo de dolar ($); el resto de los caracteres puede ser cualquier
combinacin de los anteriores, adems de cifras. As, registro_01,
$vnculos, listaNodos o _cuao1 son nombres correctos; 1_lista_de_cosas,
elementos-lista o nuevo%elemento no
3.2.
Arreglos.
3.3. Condicionales.
if(i<10){ }
else{..}
switch (variable){
case(valor1):
enunciados a ejecutar para ese valor
break;
case(valor2):
enunciados a ejecutar para ese valor
break;
4. Utilidades de JavaScript.
Entre los diferentes servicios que se encuentran realizados con Javascript en
Internet se encuentran:
Correo
Chat
Buscadores de Informacin
Tambin podemos encontrar o crear cdigos para insertarlos en las pginas como:
Reloj
Contadores de visitas
Fechas
Calculadoras
Validadores de formularios
Detectores de navegadores e idiomas
5. Funciones en JavaScript
Una funcin es un bloque de enunciados que componen un comportamiento que
puede ser invocado las veces que sea necesario.
La definicin de una funcin (tambin llamada declaracin de funcin) consiste en
la palabra clave (reservada) function, seguida por:
function sumar(x,y){
var total = x + y;
alert(total);}
sumar(1,2);
sumar(3,5);
sumar(8,13);
5.1.
Array
Boolean
Date
Error
EvalError
Function
Number
Object
RangeError
ReferenceError
RegExp
String
SyntaxError
TypeError
URIError
Cada vez que se quiere emplear uno de ellos hay que crear una instancia del
objeto por medio de la palabra clave new, como he mostrado en el ejemplo de la
fecha.
5
o 5.1.2. Incorporados (en ingls built-in): Son, como los anteriores, objetos
que tiene que proporcionar una implementacin deECMA-262 y que
tambin son independientes del entorno, pero que deben estar presentes al
iniciarse la ejecucin de un programa de ECMAScript. Son: Global y Math.
5.2. Funciones de objetos en JavaScript.
5.2.1. Array.
Mtodo
Descripcin
pop
push
reverse
shift
sort
splice
unshift
concat
join
slice
toString
Modifica
matriz?
S
la
S
S
S
S
S
S
No
No
No
No
5.2.2. Date.
Mtodo
parse
getDate
getDay
getFullYear
getHours
getMilliseconds
getMinutes
getMonth
getTime
Descripcin
Convierte una cadena que representauna fecha en el nmero de
milisegundos
transcurridos
desde las 12 en punto de la noche del 1 de enero de 1970.
Devuelve el da del mes de acuerdo con la hora local.
Devuelve el da de la semana de acuerdo con la hora local.
Devuelve el ao de acuerdo con la hora local.
Devuelve la hora de acuerdo con la hora local.
Devuelve el milisegundo de acuerdo con la hora local.
Devuelve el minuto de acuerdo con la hora local.
Devuelve el mes de acuerdo con la hora local.
Devuelve el nmero de milisegundos transcurridos desde las 12
6
getSeconds
getTimezoneOffset
getUTCDate
getUTCDay
getUTCFullYear
getUTCHours
getUTCMillisecond
s
getUTCMinutes
getUTCMonth
getUTCSeconds
toString
toDateString
toUTCString
toLocaleString
toLocaleDateString
toLocaleTimeString
valueOf
5.2.3. String.
Mtodo
charAt
charCodeAt
fromCharCod
e
concat
indexOf
lastIndexOf
match
replace
search
slice
Descripcin
Devuelve el caracter en determinado ndice de la cadena.
Devuelve el valor Unicode del caracter en determinado ndice de la
cadena.
El inverso del anterior, convierte una cadena de valores Unicode en
una literal.
Combina el texto de dos cadenas para crear una nueva.
Devuelve el ndice de la primera coincidencia de un caracter dentro de
una cadena, o -1 si no existe.
Devuelve el ndice de la ltima coincidencia de un caracter dentro de
una cadena, o -1 si no existe.
Busca las coincidencias de una expresin en una cadena literal.
Devuelve las coincidencias, si se producen.
Sustituye una expresin por una cadena dentro de otra cadena.
Igual que match, pero devuelve los ndices de las coincidencias, o -1 si
no se da ninguna.
Extrae una seccin de una cadena. Devuelve la subcadena.
7
split
substr
substr
toLowerCase
toUpperCase
+
5.2.4.
Mtodos
decodeURI
decodeURIComponent
encodeURI
encodeURIComponent
Eval
parseFloat
parseInt
Descripcin
Decodifica un URI y lo convierte en una cadena literal.
Igual que decodeURI, pero para una porcin de URI.
Codifica una cadena literal convirtindola en un URI.
Igual que encodeURI, pero para una porcin de URI.
Trata la cadena no como un literal, sino como una
expresin de JavaScript.
Convierte una cadena literal en un nmero con parte
decimal.
Convierte una cadena literal en un nmero entero.
5.2.5. Math.
Propiedad
E
LN2
LN10
LOG2E
LOG10E
PI
SQRT1_2
Mtodo
abs
acos
asin
atan
ceil
cos
exp
floor
log
max
min
Descripcin
Devuelve la constante de Euler.
Devuelve el logaritmo natural de 2.
Devuelve el logaritmo natural de 10.
Devuelve el logaritmo de la constante de Euler en base 2.
Devuelve el logaritmo de la constante de Euler en base 10.
Devuelve el valor de .
Devuelve la raz cuadrada de 1/2.
Descripcin
Devuelve el valor absoluto de un nmero.
Devuelve el arcocoseno de un valor (en radianes).
Devuelve el arcoseno de un valor (en radianes).
Devuelve la arcotangente de un valor (en radianes).
Devuelve el entero ms pequeo mayor o igual que el valor.
Devuelve el coseno de un valor (en radianes).
Devuelve el valor de la constante de Euler elevada al valor
proporcionado.
Devuelve el entero ms grande menor o igual que el valor.
Devuelve el logaritmo natural del valor.
Devuelve el mayor de dos valores.
Devuelve el menor de dos valores.
8
pow
Eleva una base a una potencia.
random
Devuelve un valor pseudoaleatorio entre 0 y 1.
round
Devuelve un valor redondeado al entero ms cercano.
sin
Devuelve el seno de un valor (en radianes).
sqrt
Devuelve la raz cuadrada de un valor.
tan
Devuelve la tangente de un valor (en radianes).
6. Eventos en JavaScript.
Los eventos son acciones que ocurren sobre un documento, bien por parte del
usuario como por ejemplo que haga clic sobre un elemento o bien por parte
del navegador por ejemplo cargar el documento. La lista de eventos es la
siguiente:
Evento
Descripcin
blur
change
click
dblclick
focus
keydown
keypress
keyup
load
mousedow
n
mousemov
e
mouseout
mouseover
mouseup
reset
select
submit
unload
7. DOM en JavaScript.
7.1.
Definicin.
Ncleo del DOM - modelo estndar para todos los tipos de documentos
La creacin del Document Object Model o DOM es una de las innovaciones que
ms ha influido en el desarrollo de las pginas web dinmicas y de las
aplicaciones web ms complejas.
DOM permite a los programadores web acceder y manipular las pginas XHTML
como si fueran documentos XML. De hecho, DOM se dise originalmente para
manipular de forma sencilla los documentos XML.
Con el DOM de HTML, JavaScript puede acceder y cambiar todos los elementos
de un documento HTML.
Cuando se carga una pgina web, el navegador crea un Modelo de objetos de
documento (DOM) de la pgina.
El HTML DOM modelo est construido como un rbol de objetos:
10
Con
el
modelo de objetos, JavaScript recibe toda la energa que necesita para crear
HTML dinmico:
DOM en HTML
11
rbol de nodos
12
7.4.
Tipos de nodos
La especificacin completa
aunque las pginas
manipular
cuatro o
nodos:
Document,
nodo raz
del que
derivan
todos los dems nodos del rbol.
Attr, se define un nodo de este tipo para representar cada uno de los
atributos de las etiquetas XHTML, es decir, uno por cada par atributo=valor.
Text, nodo que contiene el texto encerrado por una etiqueta XHTML.
Los
otros
tipos
de
nodos
existentes
que
no
se
van
considerar
7.5.
Acceder a la DOM.
getElementByTagName(etiqueta)
14
getElementByName(valor)
getElementByID(valor)
createElement(etiqueta)
createTextNode(texto)
appendChild(nodo)
removeChild(nodo)
Method
element.innerHTML
content
Description
= new
element.setAttribute(attribute,
value)
Method
Description
document.getElementById(id).onclick
function(){code}
15
La primera HTML DOM Nivel 1 (1998), define los objetos HTML, 11 colecciones de
objetos y propiedades. Estos siguen siendo vlidos en HTML5. Ms tarde, en
HTML DOM Nivel 3, se agregaron ms objetos, colecciones y propiedades.
Property
Description
document.anchors
document.applets
Returns
all
<applet> 1
elements (Deprecated in HTML5)
document.baseURI
document.body
document.cookie
document.doctype
document.documentElement
document.documentMode
document.documentURI
document.domain
document.domConfig
document.embeds
document.forms
document.head
16
DOM
name
of
the 1
document.images
document.implementation
document.inputEncoding
Returns
the
(character set)
document.lastModified
document.links
document.readyState
Returns the
document
document.referrer
document.scripts
document.strictErrorChecking
document.title
document.URL
Returns the
document
document's
encoding 3
(loading) status of
complete
URL
of
the 3
the 1
8. Navigator Object.
Los siguientes mtodos devuelven informacin del navegador usado para cargar
la pgina.
navigator.appCodeName
navigator.appName
navigator.appVersion
navigator.cookieEnabled
navigator.platform
navigator.userAgent
navigator.javaEnabled
9. Location Object.
location.host
location.hostname
Similar al anterior
location.href
location.pathname
location.port
location.protocol
location.reload()
location.href
18
forma:
history.length
history.back()
history.go(0)
por lo que recarga la pgina actual, similar a usar la tecla F5
screen.width
screen.availHeight
screen.availWidth
screen.colorDepth
screen.pixelDepth
19
window.onload
<script type="text/javascript">
window.onload=alert('Hola, Bienvenido a Javascript')
</script>
Este cdigo se debe insertar en el final de la pgina, justo
antes del cierre de la etiqueta </body>
window.parent.locatio
Devuelve la direccin URL de la pgina actual
n
window.confirm()
window.confirm('Desea?....')
Generalmente se usa encadenada con otra funcin
Muestra un cuadro de dialogo que inquiere al usuario por
una respuesta, se usa:
window.prompt()
window.prompt('Mensaje','Quiere..?')
Al igual que la anterior se usa con una funcin que se
ejecuta en caso del usuario oprimir el botn Aceptar
20
window.open()
window.open()
nv=window.open('','new','width=344,height=444,left=50,top=
50')
Mas informacin sobre todas las opciones de
window.open() en la siguiente pgina: Como abrir links de
una pgina web en una nueva ventana con Internet
Explorer y otros navegadores.
close()
window.open()
close()
top.close()
Cerrar pestaa
Muestra el nombre de una ventana, se emplea:
window.name
nv=window.open('','new','width=344,height=444');
nv.document.write('Esta ventana se llama: ' + nv.name)
window.innerHeight
window.innerWidth
window.print()
window.resizeBy()
window.resizeTo()
window.scrollBy()
22
window.scrollTo()
window.moveTo()
window.moveBy()
window.screenLeft
window.screenTop
window.screenX
23
window.screenY
24