Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Javascript PDF
Javascript PDF
Bibliografía:
JavaScript. The Definitive Guide 2 O’Reilly.
Diseño de páginas web interactivas con
JavaScript 2ª Ed. 2 Ra-Ma
Professional JavaScript 2 Wrox
No tipado.
Basado en objetos.
JavaScript NO ES Java.
En la actualidad, pocos navegadores no disponen
de soporte de JavaScript.
Ejemplo:
<html><body>
<script> document.write("HOLA MUNDO”); </script>
</body></html>
Determinar versión JavaScript
<script language=“JavaScript1.0”>
var version=1.0;
</script>
<script language=“JavaScript1.1”>
var version=1.1;
</script>
<script language=“JavaScript1.2”>
var version=1.2;
</script>
<script language=“JavaScript1.3”>
var version=1.3;
</script>
Determinar versión JScript
<script>
document.write( “Versión de JScript en Internet Explorer: “+
ScriptEngineMajorVersion() +
"." +
ScriptEngineMinorVersion() );
</script>
Ubicación del código
function miFuncion () {
var elAlumno=“Amadeo";
var laAsignatura=“Física";
alert (elAlumno + “ ha aprobado “ + laAsignatura);
}
Terminación de instrucciones
abstract
abstract boolean
boolean break
break byte
byte case
case catch
catch char
char class
class
const
const continue
continue default
default do
do double
double else
else extends
extends false
false
final
final finally
finally float
float for
for function
function goto
goto int
int implements
implements
input
input inin instance
instanceofof interface
interface long
long native
native new
new null
null
package
package private
private protected
protected public
public return
return short
short static
static super
super
switch
switch synchronized
synchronized this
this throw
throw throws
throws transient
transient true
true try
try
var
var val
val while
while with
with
Tipos de datos
1. Datos numéricos.
2. Cadenas de texto.
3. Valores booleanos.
4. Valores nulos.
Valores numéricos
Enteros
Octales: Empiezan con el dígito 0.
Hexadecimales: Empiezan con 0x ó 0X.
Coma flotante: La sintaxis es
[dígitos][.dígitos][(E|e)[(+|-)]dígitos]
Ej.: 3.14, .333333333,
6.02e+23, 1.478223E-32
Valores numéricos Especiales
Constante Significado
Number.MAX_VALUE El mayor número representable.
Number.MIN_VALUE El menor número.
Number.POSITIVE_INFINITY (*) Valor especial infinito positivo.
Number.NEGATIVE_INFINITY (*) Valor especial infinito negativo.
Ejemplo:
var variableSinDefinir;
var tipo = typeof variableSinDefinir;
document.write() del browser
Sintaxis:
document.write (cadena);
Depurar errores JavaScript
Código
Código Carácter
Caráctervisible
visible
escapado
escapado
\b
\b Caracter
Caracteranterior
anterior
\f\f Salto de página
Salto de página
\n
\n Salto
Saltodedelínea
línea
\r\r Retorno
Retornode decarro
carro
\t\t Tabulador
Tabulador
\\\\ Caracter
Caracter\\
\'\' Comilla
Comillasimple
simple
\"\" Comilla
Comilladoble
doble
\NNN
\NNN Código
Código decaracter
de caracterdel
deljuego
juegoLatin-
Latin-
1,1,en octal
en octal
\xNN
\xNN Código
Códigode decaracter
caracterdel
deljuego
juegoLatin-
Latin-
1,1,en hexadecimal.
en hexadecimal.
\uNNNN
\uNNNN Código
Códigode decaracter
caracterdel
deljuego
juego
Unicode, en hexadecimal.
Unicode, en hexadecimal.
Ejemplo de códigos escapados
Suma + -
Resta -
Multiplicación *
División /
Módulo %
Incremento: Preincremento ++
y Posincremento
Decremento: --
Predecremento y
Posdecremento
Negación unaria - +
Operadores lógicos
Producto lógico OR ||
-
-
Igualdad ==
Desigualdad !=
Identidad ===
No identidad !==
Mayor que >
Menor que <
Mayor o igual que >=
Equivalente a:
var saludo="Hola ";
if (nombre != null)
saludo += nombre;
else
saludo += "ser anónimo";
Operadores de bit
Operador OR | -
Operador XOR ^
Operador AND &
Desplazamiento izq. <<
Desplazamiento der. >>
Derecha con ceros >>>
Negación NOT ~
+
NOTA: Los operadores <<, >> y >>> mueven, bit a bit, el primer
operando la cantidad especificada en el segundo operando (0..31).
Desplazar a la izquierda equivale a multiplicar por 2. Desplazar a la
derecha a dividir por dos.
Operadores de asignación
Ejemplo:
var mensaje = (typeof nombre == "string") ? "El nombre es: “ +
nombre : "No hay nombre asignado";
alert (mensaje);
Otros operadores: new
Ejemplos:
var fecha = new Date();
var meses = new Array();
Funciones
Sintaxis:
<input type=button name=miBoton
onclick ="miFuncion()">
Función eval()
Ejemplo:
eval(“document.write(a+b)”);
Acceso a elementos de <form>
document
document
<form name=“calc” method=… action=…>
</form>
Sintaxis:
if (expresión)
sentencia;
if (expresión) {
conjunto de sentencias;
}
Ejemplos sentencia básica if
if ( nombre == null )
alert ("Nombre vacío");
Sintaxis:
if (expresión)
sentencia1;
else
sentencia2;
Sintaxis:
while (expresión)
sentencia;
El bucle while se ejecutará siempre que la expresión
se evalúe a true.
Una iteración infinita: while (true);
Ejemplos while
1,
1,2,
2,3,
3,4,
4,5,
5,6,
6,7,
7,8,
8,9,
9,10,
10,
Bucle do / while
Sintaxis:
for (inicializaciones; condición; actualizaciones)
sentencia;
Bucle for (II)
Ejemplo:
for (elem in window)
document.write (" propiedad: " + elem + " valor: " +
window[elem] + "<br>");
Etiquetas
Ejemplo:
inicio:
while (token != null) {
...
}
Sintaxis:
break;
break etiqueta;
Ejemplo de sentencia break
bucleExt:
for (var i = 0; i < 10; i++) {
bucleInt:
for (var j = 0; j < 10; j++) {
if (j > 3) break;
if (i == 2) break bucleInt;
if (i == 4) break bucleExt;
document.write ("<br>Valores: “ + i + " – " + j);
}
}
document.write ("<br>FINAL: " + i + " – " + j);
Salida del ejemplo anterior
Valores:
Valores:00––00 bucleExt:
Valores:
Valores:00––11 bucleExt:
for
for(var
(vari i==0;0;i i<<10;10;i++)
i++){{
Valores:
Valores:00––22 bucleInt:
bucleInt:
for
for(var
(varj j==0;0;j j<<10;
10;j++)
j++){{
Valores:
Valores:00––33 ifif(j(j>>3)3)break;
break;
Valores:
Valores:11––00 ifif(i(i==
== 2)break
2) breakbucleInt;
bucleInt;
ifif(i(i==4
==4) )break
breakbucleExt;
Valores:
Valores:11––11 document.write
bucleExt;
document.write ("<br>Valores:“ “++i i++" "––" "++j);j);
("<br>Valores:
Valores:
Valores:11––22 }}
}}
Valores:
Valores:11––33
Valores:
Valores:33––00 document.write
document.write("<br>FINAL:
("<br>FINAL:" "++i i++" "––" "++j);j);
Valores:
Valores:33––11
Valores:
Valores:33––22
Valores:
Valores:33––33
FINAL:
FINAL: 44––00
Sentencia continue
Sintaxis:
continue;
continue etiqueta;
Usada sólo en bucles while, for y for/in.
La sentencia continue provoca que la iteración en
curso termine en el acto y comience el bucle con la
siguiente.
La sentencia vacía
Ejemplo:
//Inicializar un array
for (i = 0; i < a.length; a[i++] = 0) ;
Precaución:
if ( a == 0 || b == 0 ) ;
alert ("la variable a o b tienen valor cero");
Práctica
Diálogos de ventana
Devuelve
Devuelve true false
Ejemplo de confirm (II)
var
varr=(confirm("Pulsa
r=(confirm("Pulsaloloque
quequieras!!!"))
quieras!!!"))??"Bien,
"Bien,has
haspulsado
pulsadoAceptar“
Aceptar“::
"Oooops,
"Oooops,has
haspulsado
pulsadoCancelar“;
Cancelar“;
alert(r);
alert(r);
Entradas: prompt()
Entrada de datos
usuario Devolverá null
Devolverá la entrada de
Valor inicial datos
Anidamiento de funciones
Ejemplo:
function hipotenusa (a, b) {
function cuadrado (x) { return x*x; }
return Math.sqrt(cuadrado(a) + cuadrado(b));
}
Argumentos de una función
function max() {
var m=Number.NEGATIVE_INFINITY;
En JS un array es un objeto.
Como tal se declaran con el operador new seguido
del constructor Array().
Sintaxis:
var a = new Array( [tamaño | elementos] );
Constructor Array()
Ejemplos:
valor = a[0];
a[1] *= 3.14;
a[++i]="Hola";
a[a[i]] = a[0];
a[‘MODELO’]="130";
Agregar elementos a un array
Ejemplo:
var matriz = new Array([1, 2], [4, 5], [6, 7]);
Aplicados
Aplicadosalalobjeto
objetoarray:
array:
variable-array.metodo();
variable-array.metodo();
Método join()
Ejemplo:
var a = new Array(“A”, “F”, “B”);
a.sort() { “A”, “B”, “F” }
Método reverse()
Ejemplo:
var a = new Array(“A”, “F”, “B”);
a.reverse() { “F”, “B”, “A” }
Método concat()
Ejemplo:
var a = new Array (1, 2, 3);
var b=a.concat(new Array(4, 5))
b== { 1, 2, 3, 4, 5}
Método slice()
Devuelve un subarray.
Ejemplo:
var a = new Array(1, 2, 3, 4, 5);
a.slice(0, 3) Devuelve { 1, 2, 3 }
a.slice(3) Devuelve { 4, 5 }
Método splice()
Ejemplos URL:
<a href="javascript: alert('Hola Mundo');"> Saludo </a>
<a href="javascript: calculaTotal();"> Calcular el Total</a>
self,
self, window,
window,
parent,
parent, top
top plugins
plugins [[ ]]
Familia de
Netscape
navigator mimeTypes
mimeTypes [[ ]] Navigator
navigator
frames forms
forms [[ ]] elements
elements[ [] ]
frames [[ ]] array
arrayde
deobjetos
objetosde de
Formulario
Formulario(Form):
(Form):
Window
Window anchors
anchors [[ ]]
Button
Button
location
location Checkbox
Checkbox
links
links [[ ]] FileUpload
FileUpload 1.1
Hidden
Hidden
Password
Password
history
history Radio
Radio
images
images [[ ]] Select
Select options
options [[ ]]
Submit
Submit array
array de
de objetos
objetos
Text
Text options
TextArea
options
document
document applets
applets [[ ]] TextArea
embeds
embeds [[ ]]
Objetos plugins y mimeTypes
document.write("<b>plugins
document.write("<b>pluginsinstalados:
instalados:"+navigator.plugins.length+"</b><br>");
"+navigator.plugins.length+"</b><br>");
for
for(var
(vari=0;
i=0;i<navigator.plugins.length;
i<navigator.plugins.length;i++)
i++)
document.write(navigator.plugins[i].name+"<br>");
document.write(navigator.plugins[i].name+"<br>");
document.write("<hr>");
document.write("<hr>");
document.write("<b>mimeTypes
document.write("<b>mimeTypessoportados:
soportados:"+navigator.mimeTypes.length+"</b><br>");
"+navigator.mimeTypes.length+"</b><br>");
for
for(var
(vari=0;
i=0;i<navigator.mimeTypes.length;
i<navigator.mimeTypes.length;i++)
i++)
document.write(navigator.mimeTypes[i].type+"<br>");
document.write(navigator.mimeTypes[i].type+"<br>");
Ejemplo plugins[] en Netscape
plugins
pluginsinstalados:
instalados:16
16
Microsoft®
Microsoft® WindowsMedia
Windows MediaServices
Services
Shockwave Flash
Shockwave Flash
Adobe
AdobeSVG
SVGViewer
ViewerPlugin
Plugin
NPSnpy
NPSnpy Dynamic LinkLibrary
Dynamic Link Library
RealPlayer(tm)
RealPlayer(tm) G2 LiveConnect-EnabledPlug-In
G2 LiveConnect-Enabled Plug-In(32-bit)
(32-bit)
Adobe Acrobat
Adobe Acrobat
Netscape
NetscapeDefault
DefaultPlug-in
Plug-in
Java Plug-in
Java Plug-in
Java
JavaPlug-in
Plug-in
Java Plug-in
Java Plug-in
Java
JavaPlug-in
Plug-in
Microsoft®
Microsoft®Reader
Reader
Windows
Windows MediaPlayer
Media PlayerPlug-in
Plug-inDynamic
DynamicLink
LinkLibrary
Library
Beatnik Player V2.0.5.2
Beatnik Player V2.0.5.2
NPAVI32
NPAVI32Dynamic
DynamicLink
LinkLibrary
Library
LiveAudio
LiveAudio
Ejemplo mimeTypes en Netscape
mimeTypes
mimeTypessoportados:
soportados:523
523 application/x-java-applet;version=1.2
application/x-java-applet;version=1.2
application/x-drm
application/x-drm application/x-java-bean
application/x-java-bean
image/svg-xml
image/svg-xml application/x-java-applet
application/x-java-applet
image/svg
image/svg application/x-java-bean;version=1.1
application/x-java-bean;version=1.1
application/x-npsnpy-plugin
application/x-npsnpy-plugin application/x-java-applet;version=1.1
application/x-java-applet;version=1.1
** application/x-java-bean;version=1.1.1
application/x-java-bean;version=1.1.1
application/x-java-bean;version=1.2.1
application/x-java-bean;version=1.2.1 application/x-java-applet;version=1.1.1
application/x-java-applet;version=1.1.1
application/x-java-applet;version=1.2.1
application/x-java-applet;version=1.2.1 application/x-npebshp
application/x-npebshp
application/x-java-bean;version=1.2.2
application/x-java-bean;version=1.2.2 application/asx
application/asx
application/x-java-applet;version=1.2.2
application/x-java-applet;version=1.2.2 audio/x-rmf
audio/x-rmf
application/x-java-bean;version=1.3
application/x-java-bean;version=1.3 audio/rmf
audio/rmf
application/x-java-applet;version=1.3
application/x-java-applet;version=1.3 audio/nspaudio
audio/nspaudio
application/x-java-bean;jpi-version=1.3.1
application/x-java-bean;jpi-version=1.3.1 audio/x-nspaudio
audio/x-nspaudio
application/x-java-applet;jpi-version=1.3.1
application/x-java-applet;jpi-version=1.3.1
application/x-java-bean;version=1.1.2
application/x-java-bean;version=1.1.2 ......
application/x-java-applet;version=1.1.2
application/x-java-applet;version=1.1.2 ......
application/x-java-bean;version=1.1.3
application/x-java-bean;version=1.1.3 ......
application/x-java-applet;version=1.1.3
application/x-java-applet;version=1.1.3 ......
application/x-java-bean;version=1.2
application/x-java-bean;version=1.2 ......
Nombrar objetos
Ejemplo:
self.document.forms[0] document.forms[0]
Programación por eventos
Ejemplo:
<input type=button name=miBoton value="Calcular"
onclick="calcula();">
Propiedades del objeto Window
Propiedad Significado
closed true si la ventana ha sido cerrada. false en caso contrario.
defaultStatus, Texto que aparecerá en la línea de estado del navegador. Por defecto y
status explícitamente.
document Referencia al documento (objeto document) HTML mostrado en la ventana.
frames [ ] Array de ventanas marcos (objetos window).
history Referencia al historial del navegador (objeto history).
location Referencia a la entrada de direcciones del navegador (objeto location).
name Nombre de la ventana. Usado, habitualmente, como TARGET de <a> o <form>.
opener Referencia al objeto ventana que ha abierto la actual. null si fue abierta por el
usuario.
parent Si la ventana es un frame, referencia a la ventana que lo contiene.
self Referencia al actual objeto ventana. Sinónimo de window.
top Si la ventana es un frame, referencia a la ventana del nivel más alto que la contiene.
window Referencia al actual objeto ventana. Sinónimo de self.
Métodos del objeto Window
Método Significado
alert(), Caja de diálogo informativa.
confirm(), Diálogo con aceptación (devuelve true) o cancelación (devuelve false).
prompt() Diálogo con entrada de usuario. (Aceptar: devuelve el valor introducido – Cancelar: null).
moveBy, Mueve la ventana valores relativos.
moveTo() Mueve la ventana a posiciones absolutas.
resizeBy(), Redimensiona la ventana valores relativos.
resizeTo() Redimensiona la ventana valores absolutos.
scrollBy(), Realiza un scroll relativo (desplazamiento) en el documento de la ventana.
scrollTo() Scroll absoluto.
setInterval(), Planifica la ejecución repetida de la función indicada.
clearInterval() Cancela la planificación.
setTimeout(), Invoca a la función especificada transcurrido cierto intervalo de tiempo. No periódica.
clearTimeout() Cancela el intervalo de tiempo especificado, antes de la ejecución.
open(), Abre una nueva instancia del navegador (nueva ventana).
close() Cierra una ventana.
Método open() (I)
Sintaxis:
var w = window.open ("pagina.html", "nombre", "propiedades-
ventana", valor-booleano);
Propiedades de ventana:
"width=nnn,heigth=mmm,status=yes,resizable=yes, …".
Propiedad Acción
height Especifica el alto de la ventana en píxeles.
width Especifica el ancho de la ventana en píxeles.
location Si =yes, se habilita la barra de direcciones (url).
menubar Si =yes, se habilita la barra de menú.
resizable Si =yes, se permite el redimensionado de la vetnana.
status Si =yes, se habilita la línea de estado
toolbar Si =yes, se habilita la barra de herramientas
La
La ventana
ventana AA crea
crea aa
con var
BB con var B=open();
B=open();
A Referencia
Referencia aa través
de
de la
la variable
través
variable B.
B.
B
La
La ventana
ventana BB puede
puede
referirse
referirse aa la
la AA aa través
través
de
de la propiedad opener.
la propiedad opener.
La línea de estado del browser
MSIE
MSIEversión
versión6.0
6.0
navigator.appName:Microsoft
navigator.appName: MicrosoftInternet
InternetExplorer
Explorer
navigator.appVersion: 4.0 (compatible; MSIE6.0;
navigator.appVersion: 4.0 (compatible; MSIE 6.0;Windows
WindowsNTNT5.0;
5.0;yif1000)
yif1000)
navigator.userAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT5.0;
navigator.userAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;yif1000)
yif1000)
navigator.appCodeName: Mozilla
navigator.appCodeName: Mozilla
navigator.platform:Win32
navigator.platform: Win32
NETSCAPE
NETSCAPENavigator
Navigator4.76
4.76
navigator.appName:Netscape
navigator.appName: Netscape
navigator.appVersion:4.76
navigator.appVersion: 4.76[en]
[en](Windows
(WindowsNTNT5.0;
5.0;U)
U)
navigator.userAgent: Mozilla/4.76 [en] (Windows NT5.0;
navigator.userAgent: Mozilla/4.76 [en] (Windows NT 5.0;U)
U)
navigator.appCodeName: Mozilla
navigator.appCodeName: Mozilla
navigator.platform:Win32
navigator.platform: Win32
Examinar propiedades navigator
var browser="INFORMACIÓN DEL BROWSER:\n";
A Documento html
B Documento html
A B
... t1 t2
Soluciones
1. A través de cookies.
2. A través de applets Java / controles ActiveX.
3. A través de variables de frames / frameset.
4. A través de la URL.
Cambio de páginas html
Ejemplo:
if (condicion) document.URL=“pagina2.html”;
else document.URL=“pagina3.html”;
Práctica
El Document Object Model (DOM)
Ejemplo:
if (document.referrer=="" || document.referrer.indexOf(“aeat.es") == -1)
{
document.location=http://www.aeat.es;
}
Generación dinámica de docs.
1. open().
2. write().
3. close().
Métodos: open(), write(), close()
<script>
var p="<html><body bgcolor=aliceblue>"+
"<HR>Hola Mundo</body></html>";
parent.frames[0].document.open();
parent.frames[0].document.write(p);
parent.frames[0].document.close();
</script> Opcional
Ejemplo de uso:
var imagenes=new Array(10);
for (var i=0; i<imágenes.length; i++) {
imagenes[i]=new Image();
imagenes[i].src=“/imagenes/imagen"+ i + ".gif“;
}
...
document.images[0].src=imagenes[3].src;
Efecto Rollover
<script>
var normal=new Image();
var vuelto=new Image();
normal.src=“/imagenes/normal.gif";
vuelto.src=“/imagenes/vuelto.gif";
function animar(numeroDeImagen) {
document.images[numeroDeImagen].src=vuelto.src;
}
function volver(numeroDeImagen) {
document.images[numeroDeImagen].src=normal.src;
}
</script>
<A HREF="javascript:void();" onmouseover="animar(0);“
onmoseout="volver(0);">
<IMG src="images/normal.gif" name=‘0’ border=0>
</A>
Eventos y manejadores (I)
Ejemplos de uso:
document.f1.submit(); Provoca el envío del formulario.
document.f2.reset(); Provoca el borrado del formulario.
Eventos de Form
1. Evento onSubmit.
2. Eventos onReset.
Elementos de Form
Ejemplos:
this.form.elements[4];
<input type=button onClick="validaFormulario(this.form);">
Capas (DHTML)
La sintaxis básica:
<DIV> ... </DIV>
Sintaxis:
<DIV id=“nombre” ... style=“...”> </DIV>
Estilo display:
<div id=“capa” align=center style=“display:inline”>
...
</div>
“display:none”
Práctica
Objetos Date y Math
Sintaxis:
fechaSistema = new Date();
fechaSistema = new Date(año, mes-1, día);
fechaSistema = new Date(año, mes-1, día, hh, mm, ss);
Método Acción
getDate() Devuelve el día del mes actual.
getDay() Devuelve el día de la semana actual [0..6].
getHours() Devuelve la hora actual (hh).
getMinutes() Devuelve los minutos actuales (mm).
getMonth() Devuelve el mes actual (nn) [0..11].
getSeconds() Devuelve los segundos actuales (ss).
getTime() Devuelve la FECHA actual en milisegundos (nnnnn..nn) desde
el 1/1/1970.
Objeto Date (II)
Método Acción
getTimezoneOffset() Diferencia en minutos entre la hora actual y la GMT.
getYear() - Desaprobado Devuelve el año actual (aa o aaaa, según navegador).
setDate(dd) Establece el día del mes.
setHours(hh) Establece la hora.
setMinutes(mm) Establece los minutos.
setMonth(mm) Establece el mes. [0..11]
setSeconds(ss) Establece los segundos.
setTime(nnnnnnnn) Establece en milisegundos la FECHA transcurrida entre el
1/1/1970 y la fecha en cuestión.
Método Acción
getFullYear() Devuelve el año en formato aaaa.
Propiedad Valor
E Constante de Euler o número e.
LN2 Logaritmo neperiano (base e) de 2.
LN10 Logaritmo neperiano de 10.
LOG2E Logaritmo en base 2 de e.
LOG10E Logaritmo en base 10 de e.
PI Número π.
SQRT1_2 Raíz cuadrada de ½.
SQRT2 Raíz cuadrada de 2.
Métodos de Math (I)
Método Acción
abs(n) Calcula el valor absoluto de n.
acos(n) Calcula el arcocoseno de n.
asin(n) Calcula el arcoseno de n.
atan(n) Calcula la arcotangente de n.
ceil(n) Redondea un número al próximo entero.
cos(n) Calcula el coseno de n.
exp(n) Calcula un exponencial del número e.
floor(n) Redondea un número eliminando su parte decimal (trunca).
Método Acción
pow(x,y) Calcula la potencia xy.
random() Genera un número aleatorio entre [0,1].
round(n) Redondea al número entero más cercano [,0 .. ,49] por defecto
[,50 .. ,99] por exceso.
sin(n) Calcula el seno de n.
sqrt(n) Calcula la raíz cuadrada de n.
tan(n) Calcula la tangente de n.
Cookies – Qué son (I)
Netscape Navigator:
..\Netscape\Users\usuario\cookies.txt
Cookies: Nombres y valores
ElElvalor
valorde
delas
lascookies
cookiesno
nopuede
puedecontener
contenercomas,
comas,puntos
puntosyycomas
comasooespacios
espacios
en blanco. Por este motivo es conveniente aplicarle al valor la función
en blanco. Por este motivo es conveniente aplicarle al valor la función
escape(),
escape(),paraparaque
quecodifique
codifiqueestos
estossímbolos
símbolosyysesepueda
puedaalmacenar
almacenar
correctamente.
correctamente. La lectura de la cookie se hará posteriormentecon
La lectura de la cookie se hará posteriormente conlalafunción
función
unescape().
unescape().
Cookies: Recuperar cookies
function getCookie(name) {
var cname = name + "=";
var dc = document.cookie;
if (dc.length > 0) {
begin = dc.indexOf(cname);
if (begin != -1) {
begin += cname.length;
end = dc.indexOf(";", begin);
if (end == -1) end = dc.length;
return unescape
unescape(dc.substring(begin, end));
}
}
return null;
}
Cookies: Modificar cookies
Ejemplo:
function listarPropiedades (objeto) {
var nombres="";
for (var i in objeto) nombres+=i+"\n";
alert(nombres);
}
Crear nuevos objetos
Ejemplo:
function persona (nombre, edad, sexo, auto) {
this.nombre=nombre;
this.edad=edad;
this.sexo=sexo;
this.auto=auto;
}
Propiedades objetos (II)
Ejemplo:
function persona (nombre, edad, sexo, auto) {
this.nombre=nombre;
this.edad=edad;
this.sexo=sexo;
this.auto=auto;
this.informacion=inforPersona;
}
function inforPersona(separador) {
return "Nombre: "+ this.nombre + separador +
"Edad: " + this.edad + separador +
"Sexo: " + this.sexo;
}
Práctica