Publicado el 24 de Junio del 2017
996 visualizaciones desde el 24 de Junio del 2017
138,0 KB
27 paginas
Creado hace 17a (07/10/2007)
Programación en Internet 2007-2008
Departamento de Lenguajes y
Sistemas Informáticos
JavaScript
JavaScript
Programación en Internet
Curso 2007-2008
Programación en Internet – Curso 2007-2008
Índice
• Introducción
• El lenguaje
• Validación de formularios
• JavaScript no intrusivo
• Compatibilidad hacia atrás
DLSI - Universidad de Alicante
1
Programación en Internet 2007-2008
Programación en Internet – Curso 2007-2008
Introducción
• JavaScript
• Aplicaciones
• Qué necesito para programar
• Versiones Netscape
• Versiones Microsoft
• ECMAScript
Programación en Internet – Curso 2007-2008
JavaScript
• Nombre original: Mocha LiveScript
(1995)
– Netscape 2.0B3 (diciembre 1995)
• Lenguaje más estándar para script en
Internet
Cliente (Netscape Communicator) y
• Cliente (Netscape Communicator) y
servidor (Netscape Enterprise Server)
• JavaScript’s LiveConnect Java
DLSI - Universidad de Alicante
2
Programación en Internet 2007-2008
Programación en Internet – Curso 2007-2008
JavaScript
• Lenguaje más estándar
• Indicado para programadores que provienen
d
i
I di d
de C, C++ o Java
• No confundir con Java (Sun Microsystems)
• Microsoft: tiene su dialecto denominado
Jscript (y JScript.NET)
• Dónde:
• Dónde:
– Cliente: Internet Explorer, Netscape Navigator,
Opera, Mozilla, etc.
– Servidor: ASP, Netscape Enterprise Server
– Otros: PDF
Programación en Internet – Curso 2007-2008
Aplicaciones
• Durante muchos años era el único
método para añadir dinamismo e
interactividad a las páginas web
• En la actualidad existen otras
alternativas, pero sigue siendo la
tecnología más compatible
tecnología más compatible
DLSI - Universidad de Alicante
3
Programación en Internet 2007-2008
Programación en Internet – Curso 2007-2008
Aplicaciones
• JavaScript, DOM (Document Object
Model) y BOM (Browser Object Model)
son la combinación que permiten la
programación en el cliente:
– Validar entrada del usuario:
g
• Reduce carga servidor
• Reduce retrasos por errores usuario
• Simplifica los programas
– Proporcionar dinamismo, junto con DHTML
u otras tecnologías
Programación en Internet – Curso 2007-2008
JavaScript y Applets de Java
Applets de Java
JavaScript
Compilado a bytecodes
Interpretado
Basado en objetos
Basado en clases
Código integrado
Código integrado
Objeto integrado
Objeto integrado
Tipos dinámicos
No tipado
Tipos estáticos
Fuertemente tipado
DLSI - Universidad de Alicante
4
Programación en Internet 2007-2008
Programación en Internet – Curso 2007-2008
S i
Versión de JavaScript
J
t 1 0
JavaScript 1.0
JavaScript 1.1
JavaScript 1.2
JavaScript 1.3
JavaScript 1.4
JavaScript 1.5
t
Versiones Netscape
Versión de Navigator
N i
2 0
Navigator 2.0
Navigator 3.0
Navigator 4.0 – 4.05
Navigator 4.06 – 4.78
Ningún navegador
Navigator 6.x y Mozilla
Application Suite, Firefox 1.0
Firefox 1.5
Firefox 2
En desarrollo
JavaScript 1.6
JavaScript 1.7
JavaScript 2.0
Programación en Internet – Curso 2007-2008
Versiones Microsoft
f
ti
t
t I
ft I
Host Application
Microsoft Internet Explorer 3.0
Mi
3 0
Microsoft Internet Information Server 3.0
S
Microsoft Internet Explorer 4.0
Microsoft Internet Information Server 4.0
Microsoft Internet Explorer 5.0
Microsoft Internet Explorer 5.01
Microsoft Windows 2000
Microsoft Internet Explorer 5.5
Microsoft Windows Millennium Edition
Microsoft Internet Explorer 6.0
Microsoft Windows XP
Microsoft Windows Server 2003
Microsoft .NET Framework 1.0
1.0 2.0 3.0 4.0 5.0 5.1 5.5 5.6 .NET 8.0
x
x
x
x
x
x
x
x
x
x
x
x
x
DLSI - Universidad de Alicante
5
Programación en Internet 2007-2008
Programación en Internet – Curso 2007-2008
ECMAScript
• Ecma International ECMA 262
– Ed. 1: junio 1997
– Ed. 2: junio 1998
– Ed. 3: diciembre 1999
• JavaScript y JScript son una
implementación de ECMAScript pero
implementación de ECMAScript, pero
proporcionan características adicionales
Programación en Internet – Curso 2007-2008
Qué necesito para programar
• Editor ASCII estándar Syntax
highlight
• Navegador
• Ficheros: .js
DLSI - Universidad de Alicante
6
Programación en Internet 2007-2008
Programación en Internet – Curso 2007-2008
El lenguaje (I)
• Características básicas
• Características básicas
• Comentarios
• Declaración de variables
• Ámbito de las variables
• Caracteres especiales
• Caracteres especiales
• Operadores
• Palabras reservadas
Programación en Internet – Curso 2007-2008
El lenguaje (II)
• Sentencias condicionales
• Sentencias condicionales
• Sentencias de repetición
• Sentencias de manipulación de
objetos
• Declaración de funciones
• Declaración de funciones
• Funciones predefinidas
DLSI - Universidad de Alicante
7
Programación en Internet 2007-2008
Programación en Internet – Curso 2007-2008
El lenguaje (y III)
• Tratamiento de cadenas
• Tratamiento de cadenas
• Operaciones matemáticas
Programación en Internet – Curso 2007-2008
Características básicas
• Sintaxis prácticamente idéntica
a Java y C++
• Sensible a minúsculas /
mayúsculas (case sensitive)
• El punto y coma (;) No
obligatorio
obligatorio
• Bloque de código: {...}
DLSI - Universidad de Alicante
8
Programación en Internet 2007-2008
Programación en Internet – Curso 2007-2008
Comentarios
• No afectan a la velocidad de
ejecución
• Dos estilos:
– // una sola línea
– /* un comentario
que ocupa varias líneas */
que ocupa varias líneas */
Programación en Internet – Curso 2007-2008
Declaración de variables (I)
• No es necesario declararlas. Se
emplea la palabra reservada var
• Normas:
– Letras, números o _
– Primer carácter: no número
– Variable ≠ Palabra reservada
Variable ≠ Palabra reservada
• Valor inicial null
DLSI - Universidad de Alicante
9
Programación en Internet 2007-2008
Programación en Internet – Curso 2007-2008
Declaración de variables (y II)
• Lenguaje sin tipos
• Tipos de una variable:
– Cadenas (‘’ y “”)
• Para que una cadena se extienda
múltiples líneas, cada línea tiene que
terminar con el carácter de escape \
– Números enteros y en coma flotante
– Booleanos true y false
– Nulo null
Programación en Internet – Curso 2007-2008
Ámbito de las variables
• Variable global / local
• Se puede crear una variable local
con el mismo nombre que una
global gracias a var
• Distintos ámbitos locales entre
distintas funciones
distintas funciones
DLSI - Universidad de Alicante
10
Programación en Internet 2007-2008
Programación en Internet – Curso 2007-2008
Caracteres especiales
Programación en Internet – Curso 2007-2008
Operadores
DLSI - Universidad de Alicante
11
Programación en Internet 2007-2008
Programación en Internet – Curso 2007-2008
Palabras reservadas
P a la b ra s re s e rv a d a s d e J a v a S c rip t
el se
en um
ex po r t
ex te n ds
fa ls e
fi na l
fi na l ly
fl oa t
fo r
fu nc t io n
go to
go to
if
im pl e me nt s
im po r t
in
in st a nc eo f
in t
in te r fa ce
lo ng
na ti v e
ne w
nu ll
pa ck a ge
pr iv a te
pr ot e ct ed
pu bl i c
pu bl i c
re tu r n
sh or t
st at i c
su pe r
s wi tc h
s yn ch r on iz ed
y
t hi s
t hr ow
t hr ow s
t ra ns i en t
t ru e
t ry
t yp eo f
v ar
v oi d
v oi d
v ol at i le
w hi le
w it h
a bs t ra ct
b oo l ea n
b re a k
b yt e
c as e
c at c h
c ha r
c la s s
c on s t
c on t in ue
d eb u gg er
d eb u gg er
d ef a ul t
d el e te
d o
d ou b le
Programación en Internet – Curso 2007-2008
Sentencias condicionales
DLSI - Universidad de Alicante
12
Programación en Internet 2007-2008
Programación en Internet – Curso 2007-2008
Sentencias de repetición
break Finaliza un bucle
continue Pasa a la siguiente iteración
Programación en Internet – Curso 2007-2008
Sentencias de manipulación de
objetos
DLSI - Universidad de Alicante
13
Programación en Internet 2007-2008
Programación en Internet – Curso 2007-2008
Declaración de funciones (I)
d
l
P
l
Para devolver un valor o detener la
ejecución return
d t
l
Programación en Internet – Curso 2007-2008
Declaración de funciones (II)
• Paso de argumentos:
– Los tipos primitivos se pasan por valor (se
pasa una copia del valor)
– Los arrays y objetos se pasan por
referencia: cualquier cambio afecta al
original
DLSI - Universidad de Alicante
14
Programación en Internet 2007-2008
Programación en Internet – Curso 2007-2008
Funciones predefinidas
• eval
• isFinite e isNaN
• parseInt y parseFloat
• Number y String
• escape y unescape
Programación en Internet – Curso 2007-2008
Objetos (I)
• Lenguaje basado en objetos, pero no
orientado a objetos No hay clases
orientado a objetos No hay clases,
herencia, visibilidad, etc.
• Sentencias: for (... in ...) y with()
• Operador “.” o “[ ]” (arrays asociativos)
window.status = "Bienvenido a JavaScript";
window.alert("2 + 2 = " + (2 + 2));
window["status"] = "Bienvenido a
window["alert"]("2 + 2 = " + (2 + 2));
JavaScript";
DLSI - Universidad de Alicante
15
Programación en Internet 2007-2008
Programación en Internet – Curso 2007-2008
Objetos (II)
• Creación de objetos:
– Inicializadores de objetos:
objeto = {prop1:val1, ..., propN:valN};
– Funciones constructoras:
function ObjConstructor(arg1, ..., argN)
{
this.prop1 = arg1; ...; this.propN = argN;
}
objeto = new ObjConstructor(val1, ..., valN);
Programación en Internet – Curso 2007-2008
Objetos (y III)
• Métodos de un objeto:
– Asignad a una propiedad del objeto el
nombre de una función
– Emplead en la función this
• Eliminación de objetos delete
DLSI - Universidad de Alicante
16
Programación en Internet 2007-2008
Programación en Internet – Curso 2007-2008
Tratamiento de cadenas (I)
• Cadenas en JavaScript:
– Cadenas literales (‘’ y “”)
– Objeto String
• JavaScript convierte automáticamente
las cadenas literales
Comentarios de: JavaScript (0)
No hay comentarios