Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Tutorial de Jscript (página 3)




Enviado por Everts Garay



Partes: 1, 2, 3, 4, 5

Creación avanzada de
objetos

Usar constructores para crear objetos

En Microsoft
JScript, se utilizan los constructores para crear y generar una
clase de
objetos. Se llama a un constructor con la instrucción
new. Devuelve lo que construye.

El caso especial del constructor Function le permite
crear funciones que son
anónimas. Una función
anónima es una función que no tiene un nombre. Por
ejemplo, puede usar el constructor Function para generar una
función inmediatamente como una de las instrucciones que
aparece dentro de otra función. Esa función, a la
que sólo se llama desde una ubicación, no necesita
un nombre.

En el siguiente ejemplo, la función
anónima genera una línea de una lista de
"nombre-y-dirección-de-correo-electrónico".
Comprueba el valor de la
variable nombrePrimero para decidir si debe colocar
primero el nombre o el apellido y el valor de la variable
nombreCorreoPrimero para decidir si debe colocar primero
el nombre o el alias de correo
electrónico. El ejemplo asume que los valores de
nombrePrimero y nombreCorreoPrimero se establecen
en otro lugar.

for (j = 1; j

< listaDirecciones[length]; j++)

{

unaLíneaDeLista = new
Function(nombreCorreoPrimero, nombrePrimero, listaDirecciones, j,
elNombre = new Function(nombrePrimero, listaDirecciones, j, var
elNombre=(listaDirecciones[j].nombre +
listaDirecciones[j].apellido);

if(nombrePrimero)

{

elNombre=(listaDirecciones[j].nombre +
listaDirecciones[j].apellido);

},) ;

if (nombreCorreoPrimero)

{

laLista = listaDirecciones[j].nombreCorreo+ ":t" +
elNombre

} else laLista = elNombre + ":t" +
listaDirecciones[j].nombreCorreo; return laLista;)

document.write(unaLíneaDeLista +
"<br>");

}

Escribir constructores

Para escribir sus propios constructores, se utiliza la
palabra clave this dentro del constructor para hacer
referencia al objeto recién creado. El constructor inicia
el objeto.

Aunque el constructor del siguiente ejemplo empieza en
un índice de 0, esto no es necesario. Puede empezar con un
primer índice de 1 si, por ejemplo, necesita un
parámetro que indique el número real de
índices de la matriz o del
objeto. En el ejemplo, se llama extent para distinguirlo
del parámetro de longitud mantenido automáticamente
del objeto incorporado Array( )). Si escribe código
que agrega propiedades a la matriz, debe actualizar el
parámetro extent (o su equivalente) porque JScript
no mantiene este parámetro. Observe que incluso un ejemplo
extremadamente sencillo como éste utiliza estilos en
notación de objeto (punto) y de matriz (llave) para hacer
referencia al objeto actual.

function ConvertirCadenaEnMatriz (length) {

this.extent = length;

for (iNum = 0; iNum

< length; i++) {

this[iNum] = "";

}

}

// Utilice el constructor para crear e inicializar una
matriz.

miMatrizString = new
ConvertirCadenaEnMatriz(63);

Usar prototipos para crear objetos

Cuando escriba la definición de un objeto, puede
utilizar las propiedades prototype para crear propiedades
que no sean comunes a todos los objetos generados por la
definición. Las propiedades Prototype se copian por
referencia en cada objeto de una clase, por lo que tienen el
mismo valor para todos los objetos de la clase. Sin embargo,
puede cambiar el valor de una propiedad
prototipo en un objeto, y el nuevo valor sustituye al
predeterminado, pero sólo en esa instancia. El resto de
los objetos miembros de esa clase no se ven afectados por el
cambio.

Siguiendo este principio, puede definir propiedades
adicionales para objetos que formen parte del lenguaje
JScript, ya que todos tienen prototipos. Por ejemplo, si quiere
utilizar una constante especial para realizar un cálculo, y
la constante no se encuentra entre las proporcionadas por los
objetos Math y Number, puede definirla y asignarla
sus prototipos de objeto respectivos, o la propiedad prototipo de
la clase de su objeto.

Math.prototype.Avogadro = 6.0232E23;

function CuantasMoleculas (wtGrams,molWt) {

return
((wtGrams/molWt)*Math.prototype.Avogadro);

}

document.write("Hay " +
CuantasMoleculas(window.prompt("¿Cuántos
gramos?",0),window.prompt

("¿Cuál es el peso molecular? ",0))
+

" moléculas en esa cantidad.");

Quizá sea más útil definir una
función, asignarla como método al
prototipo String y utilizarla en cualquier cadena de cualquier
parte de su secuencia de comandos. El
siguiente ejemplo asume la existencia de una matriz Tabla
Periódica llamada "losElementos", definida en
algún lugar de la secuencia de comandos, que contiene los
símbolos de los elementos, sus nombres, sus
pesos atómicos y otra información necesaria sobre
ellos.

function atomoNombre(elSimbolo) {

return(losElementos[elSimbolo].NombreCompleto);

}

String.prototype.atomoNombre = atomoNombre;

function decodificaFormula(laFormula) {

var elElementoActual = "";

var laFormulaDecodificada = "";

for (i = 1; i = laFormula.length ; i++);

if (elElementoActual

// Sentencias de código para separar la cadena de
la fórmula en una matriz de símbolos y
números.

// Recorre la matriz de la fórmula y compone la
cadena decodificada. Cada término es :

laFormulaDecodificada += formula[n].number

laFormulaDecodificada += " ";

laFormulaDecodificada +=
formula[n].symbol.prototype.atomoNombre;

laFormulaDecodificada += " "

// Fin del bucle.

return laFormulaDecodificada;

}

decodificaFormula(window.prompt("Formula?","Al2O3"));

Caracteres
especiales

JScript admite caracteres especiales que le permiten
incluir en las cadenas algunos caracteres que no se pueden
teclear directamente. Cada uno de estos caracteres comienza con
una barra invertida. La barra invertida es un carácter de escape que se utiliza
para indicar al intérprete de JScript que el siguiente
carácter es especial.

Secuencia de
escape

Carácter

b

Retroceso

f

Avance de página

n

Avance de línea (nueva
línea)

r

Retorno de carro

t

Tabulador horizontal (Ctrl-I)

'

Marca de comillas simples

"

Marca de comillas dobles

\

Barra invertida

Observe que, dado que la barra invertida se utiliza como
carácter de escape, no se puede utilizar directamente en
la secuencia de comandos. Si quiere escribir una barra invertida
deberá teclearla dos veces seguidas (\).

document.write('La ruta de la imagen es
C:\web\mipagina\gifs\jardin.gif.');

document.write('El texto dice:
"Después de la nevada del '97, la casa de la abuela
está cubierta de nieve."');

Puede utilizar estas secuencias de escape para controlar
el formato del texto dentro de las marcas
<PRE> y <XMP> y, hasta cierto punto, dentro de los
cuadros de diálogo de
alerta, solicitud de datos y
confirmación.

Solucionar
problemas en
sus secuencias de comandos

Hay partes de un lenguaje de
programación en las que se puede ver enredado si no
tiene cuidado y cada lenguaje tiene sorpresas específicas.
Usemos como ejemplo el valor
null: Este valor en Microsoft JScript
se comporta de forma diferente al valor null de los
lenguajes C o C++.

Algunas de las áreas problemáticas con las
que se puede encontrar al escribir secuencias de comandos de
Jscript son las siguientes.

Errores de sintaxis

Como la sintaxis es mucho más rígida en
los lenguajes de
programación que en los lenguajes naturales, es
importante prestar mucha atención a los detalles al escribir
secuencias de comandos. Si, por ejemplo, desea que un
parámetro particular sea una cadena, tendrá
problemas si se olvida de encerrarlo entre comillas al
escribirlo.

Orden de interpretación de la secuencia de
comandos

La interpretación de JScript es parte del
proceso de
análisis de HTML de su
explorador de Web. Por tanto, si coloca una secuencia de comandos
dentro de una etiqueta <HEAD> en un documento, se
interpreta antes de examinar cualquier etiqueta <BODY>. Si
tiene objetos que están creados en la etiqueta
<BODY>, no existen en el momento que se está
analizando <HEAD> y no los puede utilizar la secuencia de
comandos.

Conversión automática de
tipos

JScript es un lenguaje en el que no necesita declarar
los tipos de datos y
convierte automáticamente los tipos de datos. En
consecuencia, independientemente del hecho de que los valores que
tienen distintos tipos no son iguales, las expresiones de los
siguientes ejemplos devuelven como resultado
true.

"100" == 100

false == 0

Precedencia de operadores

Al realizar una operación particular durante la
evaluación de una expresión influye
más la precedencia de operadores que la ubicación
de la expresión. Así, en el siguiente ejemplo, la
multiplicación se realiza antes que la sustracción,
aunque la sustracción aparezca primera en la
expresión.

elRadio = unPuntoDelPerimetro – elPuntoDelCentro *
elFactorDeCorreccion;

Usar bucles for…in con objetos

Al pasar por las propiedades de un objeto con un
bucle for…in, no
necesariamente puede predecir o controlar el orden en el que se
asignan los campos del objeto a la variable contadora del bucle.
Más aún, el orden puede ser distinto en distintas
implementaciones del lenguaje.

Palabra clave with

La instrucción with
es adecuada para hacer referencia a propiedades que ya
existen en un objeto especificado, pero no se pueden utilizar
para agregar propiedades a un objeto. Para crear nuevas
propiedades en un objeto, debe hacer referencia al objeto
específicamente.

Palabra clave this

Aunque utilice la palabra clave
this dentro de la definición de
un objeto, para hacer referencia al propio objeto, no puede
utilizar this o palabras clave similares para hacer
referencia a la función que se está ejecutando
cuando la función no es una definición de objeto.
Si la función se va a asignar a un objeto como un
método, puede usar la palabra clave this dentro de
la función, para hacer referencia al objeto.

Escribir una secuencia de comandos que escribe una
secuencia de comandos

La etiqueta <SCRIPT> termina la secuencia de
comandos actual si el intérprete la encuentra. Para
mostrar el propio "<SCRIPT>", vuelva a escribir esto como,
al menos, dos cadenas; por ejemplo, "</SCR" y "IPT>", que
puede concatenar en la instrucción que las
escribe.

Referencias implícitas a una
ventana

Como se puede abrir más de una ventana a la vez,
cualquier referencia implícita a una ventana, apunta a la
ventana actual. Para otras ventanas, debe utilizar una referencia
explícita.

Mostrar
información en el explorador

Microsoft JScript proporciona dos formas de mostrar
datos directamente en su explorador. Puede usar write( ) y
writeln( ), que son métodos
del objeto document. También puede mostrar
información en formularios
dentro del explorador y en cuadros de mensajes de aviso,
solicitud y confirmación.

Usar document.write( ) y document.writeln(
)

La forma más usada para mostrar
información es el método write( ) del objeto
document. Recibe un argumento, una cadena, que muestra en el
explorador. La cadena puede ser texto sin formato o HTML. Las
cadenas se pueden encerrar entre comillas simples o comillas
dobles. Esto permite encerrar entre comillas algún texto
que contenga apóstrofes o comillas.

document.write("Pi es, aproximadamente, igual a " +
Math.PI);

document.write( );

 

Sugerencia  La
siguiente función sencilla es una forma de evitar
tener que escribir "document.write" cada vez que desea
que algo aparezca en la ventana del explorador. Esta
función no le avisa cuando algo que intenta
escribir no está definido, pero permite usar el
comando "w();", que muestra una línea en
blanco.

function w(m) { // Función
Write.

m = "" + m + ""; // Se asegura de que la
variable m es una cadena.

if ("undefined" != m) { // Comprueba si la
cadena está vacía o si contiene un elemento
no definido.

document.write(m);

}

document.write("<br>");

}

w('<IMG SRC="caballo.gif">');

w();

w("Esto es un grabado de un
caballo.");

w();

 
 

El método writeln( ) es casi
idéntico al método write( ) excepto porque
agrega un carácter de nueva línea a cualquier
cadena que se le proporcione. En HTML normalmente produce un
espacio en blanco después del elemento, pero si se usan
etiquetas<PRE> y <XMP>, el carácter de nueva
línea se interpreta literalmente y el explorador lo
muestra.

Cuando llama al método write( ),
éste abre y borra el documento si en ese momento no se
encuentra en el proceso de apertura y análisis al llamar a
write( ), por lo que puede resultar peligroso. El ejemplo
muestra una secuencia de comandos que muestra la hora un vez cada
minuto, pero sólo puede hacerlo una vez porque se borra a
sí mismo en el proceso.

<HTML>

<HEAD>

<SCRIPT LANGUAGE="JScript">

function singOut () {

var elMomento = new Date();

var laHora = elMomento.getHours();

var elMinuto = elMomento.getMinutes();

var elDesplazamiento = (elMomento.getTimezoneOffset() /
60);

laHora -= elDesplazamiento;

if (laHora > 23) {

laHora -= 24

}

document.write(laHora + " horas, " + elMinuto + "
minutos, Horario Universal Coordinado.");

window.setTimeout("singOut();", 60000);

}

</SCRIPT>

</HEAD>

<BODY>

<SCRIPT>

singOut();

</SCRIPT>

</BODY>

</HTML>

Si usa el método alert() del objeto window
en lugar de document.write(), la secuencia de comandos
funcionará.

window.alert(laHora + " horas, " + elMinuto + " minutos,
Horario Universal Coordinado.");

window.setTimeout("singOut();", 60000);

}

Borrar el documento actual

El método clear() del objeto
document vacía el documento actual. Este
método también elimina la secuencia de comandos
(junto con el resto del documento), por lo que debe tener mucho
cuidado con cómo y cuándo lo utiliza.

document.clear();

Usar cuadros de mensaje

Usar avisos, solicitudes y
confirmaciones

Utilice cuadros de mensaje de aviso, confirmación
y solicitud de datos para obtener datos escritos por su usuario.
Los cuadros son métodos del objeto de interfaz
window. Como el objeto window ocupa la parte
superior de la jerarquía de objetos, realmente no necesita
utilizar el nombre completo (por ejemplo, "window.alert()") de
cualquiera de estos cuadros de mensaje, pero es una buena idea
hacerlo, porque le ayuda a recordar a qué objeto
pertenecen.

Cuadro de mensaje de aviso

El método alert tiene un argumento: la
cadena de texto que desea mostrar al usuario. La cadena no es
HTML. El cuadro de mensaje ofrece un botón Aceptar para
que el usuario pueda cerrarlo y es un cuadro modal; es decir, el
usuario debe cerrar el cuadro de mensaje antes de
continuar.

window.alert("Bienvenido. Presione Aceptar para
continuar.");

Cuadro de mensaje de
confirmación

El cuadro de mensaje de confirmación le permite
preguntar al usuario una pregunta de tipo "Sí o No" y
ofrece al usuario la opción de hacer clic en un
botón Aceptar o en un botón Cancelar. El
método confirm devuelve true o false.
Este cuadro de mensaje también es modal: el usuario debe
responder a él (hacer clic en un botón) y, por
tanto, cerrarlo, antes de continuar.

var aceptaEntrar = window.confirm("Haga clic en Aceptar
para continuar. Haga clic en Cancelar para detener.");

if (aceptaEntrar) {

window.alert("Bienvenido a nuestra página
Web.");

} else window.alert("Hasta luego.");

Cuadro de mensaje de solicitud

El cuadro de mensaje de solicitud ofrece un campo de
texto en el que el usuario puede escribir una respuesta a su
solicitud. Este cuadro tiene un botón Aceptar y un
botón Cancelar. Si proporciona un segundo argumento de
cadena, el cuadro de mensaje de solicitud muestra esa segunda
cadena en el campo de texto, como respuesta predeterminada. De lo
contrario, el texto predeterminado es "<no
definido>".

Al igual que los métodos alert( ) y
confirm( ), el método prompt muestra un
cuadro de mensaje modal. El usuario debe cerrarlo antes de
continuar.

var laRespuesta = window.prompt("Bienvenido","Escriba su
nombre aquí.");

Microsoft® JScript® 
Operadores

Operador +

Descripción

Se utiliza para sumar dos números o realizar una
concatenación de cadenas.

Sintaxis

resultado = expresión1 +
expresión2

La sintaxis del operador + tiene las siguientes
partes:

Parte

Descripción

resultado

Cualquier variable.

expresión1

Cualquier expresión.

expresión2

Cualquier expresión.

Comentarios

El tipo subyacente de las expresiones determina el
comportamiento
del operador +.

Si

Entonces

Ambas expresiones son numéricas o de tipo
Boolean

Sumar.

Ambas expresiones son cadenas

Concatenar.

Una expresión es numérica y la
otra es una cadena

Concatenar.

Para obtener información acerca de cuándo
se genera un error en tiempo de
ejecución por el operador +, consulte la tabla de
comportamiento de operadores.

Operador =

Descripción

Asigna un valor a una variable.

Sintaxis

resultado =
expresión

La sintaxis del operador = tiene las siguientes
partes:

Parte

Descripción

resultado

Cualquier variable.

expresión

Cualquier expresión
numérica.

Comentarios

Como el operador = se comporta como otros
operadores, las expresiones que lo utilizan tienen un valor
además de asignar ese valor a variable. Esto
significa que puede encadenar operadores de asignación
como se muestra a continuación:

j = k = l = 0;

j, k y l son iguales a cero después de ejecutar
la instrucción de ejemplo.

Operador &

Descripción

Realiza una comparación AND de bits en dos
expresiones.

Sintaxis

resultado = expresión1
& expresión2

La sintaxis del operador & tiene las
siguientes partes:

Parte

Descripción

resultado

Cualquier variable.

expresión1

Cualquier expresión.

expresión2

Cualquier expresión.

Comentarios

El operador & obtiene la
representación binaria de los valores de las dos
expresiones y realiza una operación AND con los bits de
las mismas. El resultado de esta operación se comporta de
la siguiente manera:

0101 (expresión1)

1100 (expresión2)

—-

0100 (resultado)

Cada vez que ambas expresiones tienen un 1 en un
dígito, el resultado tendrá un 1 en ese
dígito. De otra forma, el resultado es 0 en ese
dígito.

Para obtener información acerca de cuándo
se genera un error en tiempo de ejecución por el operador
&, consulte la tabla de comportamiento de
operadores.

Operador >>

Descripción

Desplaza los bits de una expresión hacia la
derecha, manteniendo el signo.

Sintaxis

resultado = expresión1 >>
expresión2

La sintaxis del operador >> tiene las
siguientes partes:

Parte

Descripción

resultado

Cualquier variable.

expresión1

Cualquier expresión.

expresión2

Cualquier expresión.

Comentarios

El operador >> desplaza los bits de
expresión1 hacia la derecha, el número de
bits especificado en expresión2. El bit de signo de
expresión1 se utiliza para rellenar los
dígitos de la izquierda. Los dígitos desplazado
hacia la derecha se descartan. Por ejemplo, después de
evaluar el siguiente código, temp tiene un valor de
-4: 14 (11110010 en binario) desplazado hacia la derecha dos bits
es igual a -4 (11111100 en binario).

var temp

temp = -14 >> 2

Para obtener información acerca de cuándo
se genera un error en tiempo de ejecución por el operador
>>, consulte la tabla de comportamiento de
operadores.

Operador <<

Descripción

Desplaza los bits de una expresión hacia la
izquierda.

Sintaxis

resultado = expresión1 <<
expresión2

La sintaxis del operador << tiene las
siguientes partes:

Parte

Descripción

resultado

Cualquier variable.

expresión1

Cualquier expresión.

expresión2

Cualquier expresión.

Comentarios

El operador << desplaza los bits de
expresión1 hacia la izquierda, el número de
bits especificado en expresión2. Por
ejemplo:

var temp

temp = 14 << 2

La variable temp tiene un valor igual a 56 porque
14 (00001110 en binario) desplazado hacia la izquierda dos bits,
es igual a 56 (00111000 en binario).

Para obtener información acerca de cuándo
se genera un error en tiempo de ejecución por el operador
<<, consulte la tabla de comportamiento de
operadores.

Operador <<

Descripción

Desplaza los bits de una expresión hacia la
izquierda.

Sintaxis

resultado = expresión1 <<
expresión2

La sintaxis del operador << tiene las
siguientes partes:

Parte

Descripción

resultado

Cualquier variable.

expresión1

Cualquier expresión.

expresión2

Cualquier expresión.

Comentarios

El operador << desplaza los bits de
expresión1 hacia la izquierda, el número de
bits especificado en expresión2. Por
ejemplo:

var temp

temp = 14 << 2

La variable temp tiene un valor igual a 56 porque
14 (00001110 en binario) desplazado hacia la izquierda dos bits,
es igual a 56 (00111000 en binario).

Para obtener información acerca de cuándo
se genera un error en tiempo de ejecución por el operador
<<, consulte la tabla de comportamiento de
operadores.

Operador |

Descripción

Realiza una comparación OR de bits en dos
expresiones.

Sintaxis

resultado = expresión1
| expresión2

La sintaxis del operador | tiene las siguientes
partes:

Parte

Descripción

resultado

Cualquier variable.

expresión1

Cualquier expresión.

expresión2

Cualquier expresión.

Comentarios

El operador | obtiene la representación
binaria de los valores de las dos expresiones y realiza una
operación OR con los bits de las mismas. El resultado de
esta operación se comporta de la siguiente
manera:

0101 (expresión1)

1100 (expresión2)

—-

1101 (resultado)

Cada vez que cualquiera de las dos expresiones tiene un
1 en un dígito, el resultado tendrá un 1 en ese
dígito. De lo contrario, el resultado tendrá un 0
en ese dígito.

Para obtener información acerca de cuándo
se genera un error en tiempo de ejecución por el operador
|, consulte la tabla de comportamiento de
operadores.

Operador ^

Descripción

Realiza una comparación OR exclusivo de bits en
dos expresiones.

Sintaxis

resultado = expresión1
^ expresión2

La sintaxis del operador ^ tiene las siguientes
partes:

Parte

Descripción

resultado

Cualquier variable.

expresión1

Cualquier expresión.

expresión2

Cualquier expresión.

Comentarios

El operador ^ examina las representaciones
binarias de los valores de las dos expresiones y realiza una
operación OR exclusivo de bits sobre ellas. El resultado
de esta operación se comporta de la siguiente
manera:

0101 (expresión1)

1100 (expresión2)

—-

1001 (resultado)

Si una y sólo una de las expresiones tiene un
dígito 1, el resultado es 1 en ese dígito. De otra
forma, el resultado es 0 en ese dígito.

Para obtener más información acerca de
cuándo se genera un error en tiempo de ejecución
por el operador ^, consulte la tabla de comportamiento de
operadores.

Operador ,

Descripción

Hace que dos expresiones se ejecuten
secuencialmente.

Sintaxis

expresión1,
expresión2

La sintaxis del operador , tiene las siguientes
partes:

Parte

Descripción

expresión1

Cualquier expresión.

expresión2

Cualquier expresión.

Comentarios

El operador , hace que las expresiones a ambos
lados del operador se ejecuten en orden de izquierda a derecha y
obtiene el valor de la expresión de la derecha. El uso
más común para el operador , es la
expresión de incremento en un bucle for. Por
ejemplo:

for (i = 0; i < 10; i++, j++)

{

k = i + j;

}

La instrucción for sólo permite que
se ejecute una única expresión al final de cada
ciclo del bucle. El operador , se utiliza para permitir
que se traten múltiples expresiones como una sola y, de
esta forma, ignorar la restricción.

Operador ?:

Descripción

Ejecuta una de dos expresiones dependiendo de una
condición.

Sintaxis

prueba ? expresión1 :
expresión2

La sintaxis del operador ?: tiene las siguientes
partes:

Parte

Descripción

prueba

Una expresión de tipo Boolean.

expresión1

La expresión que se debe ejecutar si
prueba es igual a True.

expresión2

La expresión que se debe ejecutar si
prueba es igual a False.

Comentarios

La sintaxis del operador ?: es una forma
abreviada de una instrucción if…else. Se utiliza
típicamente como parte de una expresión mayor en la
que una instrucción if…else sería
incómoda. Por
ejemplo:

var ahora = new Date();

var saludo = "Buen" + ((ahora.getHours() > 17) ? "as
tardes." : "os días.");

El ejemplo crea una cadena que contiene "Buenas tardes."
si es más tarde de las 6 p.m.. El código
equivalente que utiliza una instrucción if…else
es el siguiente:

var ahora = new Date();

var saludo = "Buen";

if (ahora.getHours() > 17)

saludo += "as tardes.";

else

saludo += "os días.";

Operador ?:

Descripción

Ejecuta una de dos expresiones dependiendo de una
condición.

Sintaxis

prueba ? expresión1 :
expresión2

La sintaxis del operador ?: tiene las siguientes
partes:

Parte

Descripción

prueba

Una expresión de tipo Boolean.

expresión1

La expresión que se debe ejecutar si
prueba es igual a True.

expresión2

La expresión que se debe ejecutar si
prueba es igual a False.

Comentarios

La sintaxis del operador ?: es una forma
abreviada de una instrucción if…else. Se utiliza
típicamente como parte de una expresión mayor en la
que una instrucción if…else sería
incómoda. Por ejemplo:

var ahora = new Date();

var saludo = "Buen" + ((ahora.getHours() > 17) ? "as
tardes." : "os días.");

El ejemplo crea una cadena que contiene "Buenas tardes."
si es más tarde de las 6 p.m.. El código
equivalente que utiliza una instrucción if…else
es el siguiente:

var ahora = new Date();

var saludo = "Buen";

if (ahora.getHours() > 17)

saludo += "as tardes.";

else

saludo += "os días.";

Operador ?:

Descripción

Ejecuta una de dos expresiones dependiendo de una
condición.

Sintaxis

prueba ? expresión1 :
expresión2

La sintaxis del operador ?: tiene las siguientes
partes:

Parte

Descripción

prueba

Una expresión de tipo Boolean.

expresión1

La expresión que se debe ejecutar si
prueba es igual a True.

expresión2

La expresión que se debe ejecutar si
prueba es igual a False.

Comentarios

La sintaxis del operador ?: es una forma
abreviada de una instrucción if…else. Se utiliza
típicamente como parte de una expresión mayor en la
que una instrucción if…else sería
incómoda. Por ejemplo:

var ahora = new Date();

var saludo = "Buen" + ((ahora.getHours() > 17) ? "as
tardes." : "os días.");

El ejemplo crea una cadena que contiene "Buenas tardes."
si es más tarde de las 6 p.m.. El código
equivalente que utiliza una instrucción if…else
es el siguiente:

var ahora = new Date();

var saludo = "Buen";

if (ahora.getHours() > 17)

saludo += "as tardes.";

else

saludo += "os días.";

Operadores de
comparación

Descripción

Devuelve un valor de tipo Boolean que indica el
resultado de la comparación.

Sintaxis

expresión1
operadordecomparación
expresión2

La sintaxis del operador de comparación tiene las
siguientes partes:

Parte

Descripción

expresión1

Cualquier expresión.

operadordecomparación

Cualquier operador de
comparación.

expresión2

Cualquier expresión.

Comentarios

Al comparar cadenas de caracteres, JScript utiliza el
valor de los caracteres Unicode de la expresión de
cadena.

El siguiente ejemplo describe cómo se comportan
los diversos tipos de operadores dependiendo de los valores de
expresión1 y expresión2:

Relacional (<, >, <=, >=)

  • Intenta convertir ambas expresión1 y
    expresión2 en número.
  • Si ambas expresiones son cadenas realiza una
    comparación lexicográfica de cadenas.
  • Si ambas expresiones son NaN, devuelve
    False.
  • Cero negativo se iguala a cero positivo.
  • Infinito negativo es menor que cualquier cosa,
    incluso que sí mismo.
  • Infinito positivo es mayor que cualquier cosa,
    incluso sí mismo.

Igualdad (==, !=)

  • Si los tipos de las dos expresiones son diferentes,
    intenta convertirlas en cadena de caracteres, número o
    tipo Boolean.
  • NaN no es igual a nada, incluso a sí
    mismo.
  • Cero negativo es igual que cero positivo.
  • null equivale tanto a null como a no
    definido
    .
  • Los valores se consideran iguales si son cadenas
    idénticas, números numéricamente
    equivalentes, el mismo objeto, valores de tipo Boolean
    idénticos, o (si son de tipos distintos) pueden ser
    forzados a una de estas situaciones.
  • Cualquier otra comparación es considerada
    desigual.

Identidad (===. !==)

Estos operadores se comportan de la misma forma que los
operadores de igualdad,
excepto que no se realiza ninguna conversión de tipos y
ambos tipos deben ser iguales para que las expresiones se
consideren iguales.

Operador >>>

Descripción

Aplica un desplazamiento a la derecha sin signo a una
expresión.

Sintaxis

resultado = expresión1
>>> expresión2

La sintaxis del operador >>> tiene las
siguientes partes:

Parte

Descripción

resultado

Cualquier variable.

expresión1

Cualquier expresión.

expresión2

Cualquier expresión.

Comentarios

El operador >>> desplaza los bits de
expresión1 hacia la derecha, el número de
bits especificado en expresión2. Los bits
insertados por la derecha se rellenan con ceros. Los
dígitos desplazado hacia la derecha se descartan. Por
ejemplo:

var temp

temp = -14 >>> 2

La variable temp tiene un valor igual a
1073741820 porque -14 (11111111 11111111 11111111 11110010 en
binario) desplazado hacia la derecha dos bits es igual a
1073741820 (00111111 11111111 11111111 11111100 en
binario).

Para obtener información acerca de cuándo
se genera un error en tiempo de ejecución por el operador
>>>, consulte la tabla de comportamiento de
operadores.

Operador /

Descripción

Se usa para dividir dos números y devolver un
resultado numérico.

Sintaxis

resultado = número1 /
número2

La sintaxis del operador / tiene las siguientes
partes:

Parte

Descripción

resultado

Cualquier variable numérica.

número1

Cualquier expresión
numérica.

número2

Cualquier expresión
numérica.

Comentarios

Para obtener información acerca de cuándo
se genera un error en tiempo de ejecución por el operador
/, consulte la tabla de comportamiento de
operadores.

Operador instanceof

Descripción

Devuelve un valor Booleano que indica si un objeto es
una instancia de una clase en particular.

Sintaxis

resultado = objeto instanceof
clase

La sintaxis del operador instanceof tiene las
siguientes partes:

Parte

Descripción

resultado

Cualquier variable.

objeto

Cualquier expresión de objeto.

clase

Cualquier clase de objeto definida.

Observaciones

El operador instanceof devuelve true si
objeto es una instancia de clase. Devuelve
false si objeto no es una instancia de la clase
especificada, o si objeto es null.

El ejemplo siguiente muestra el uso del operador
instanceof:

function Pruebaobj(obj)

{

var i, t, s = ""; // Crear variables.

t = new Array(); // Crear una matriz.

t["Fecha"] = Date; // Llenar la matriz.

t["Objeto"] = Object;

t["Matriz"] = Array;

for (i in t)

{

if (obj instanceof t[i]) // Comprobar clase de
obj.

{

s += "obj. es una instancia de " + i + "n";

}

else

{

s += "obj. no es una instancia de" + i +
"n";

}

}

return(s); // Devolver cadena.

}

var obj = new Date();

response.write(Pruebaobj(obj));

Operador &&

Descripción

Realiza una conjunción lógica
de dos expresiones.

Sintaxis

resultado = expresión1
&& expresión2

La sintaxis del operador && tiene las
siguientes partes:

Parte

Descripción

resultado

Cualquier variable.

expresión1

Cualquier expresión.

expresión2

Cualquier expresión.

Comentarios

Si y sólo si el resultado de la evaluación
de ambas expresiones devuelve True, resultado es
True. Si el resultado de evaluar alguna de las expresiones
devuelve False, resultado es
False.

Para obtener información acerca de cuándo
se genera un error en tiempo de ejecución por el operador
&&, consulte la tabla de comportamiento de
operadores.

JScript utiliza las siguientes reglas para convertir
valores que no son de tipo Boolean en valores de tipo
Boolean:

  • Todos los objetos se consideran iguales a
    True.
  • Las cadenas se consideran como valores False si y
    sólo si están vacías.
  • null y no definido se consideran iguales a
    False.
  • Los números se consideran como valores False
    si y sólo si son cero.

Operador !

Descripción

Realiza una negación lógica en una
expresión.

Sintaxis

resultado =
!
expresión

La sintaxis del operador ! tiene las siguientes
partes:

Parte

Descripción

resultado

Cualquier variable.

expresión

Cualquier expresión.

Comentarios

La siguiente tabla indica como se determina
resultado.

Si expresión
tiene un valor igual a

Entonces resultado
tiene un valor igual a

True

False

False

True

Todos los operadores unarios, como, por ejemplo, el
operador ! , evalúan las expresiones como se indica
a continuación:

  • Si se aplica a expresiones con valores no definido o
    null , se genera un error en tiempo de
    ejecución.
  • Los objetos se convierten en cadenas.
  • Las cadenas se convierten en números, si es
    posible. Si no, se genera un error en tiempo de
    ejecución.
  • Los valores de tipo Boolean se tratan como
    números (0 si es igual a False, 1 si es
    True).

Se aplica el operador al número
resultante.

Para el operador ! , si expresión
tiene un valor distinto de cero, resultado tiene un valor
igual a cero. Si expresión tiene un valor igual a
cero, resultado tiene un valor igual a 1.

Operador ||

Descripción

Realiza una disyunción lógica de dos
expresiones.

Sintaxis

resultado = expresión1
|| expresión2

La sintaxis del operador || tiene las siguientes
partes:

Parte

Descripción

resultado

Cualquier variable.

expresión1

Cualquier expresión.

expresión2

Cualquier expresión.

Comentarios

Si el resultado de evaluar alguna de las dos expresiones
devuelve True, resultado tiene un valor igual a
True. La siguiente tabla indica como se determina
resultado.

Si expresión1
tiene un valor igual a

Y expresión2
tiene un valor igual a

Entonces resultado
tiene un valor igual a

True

True

True

True

False

True

False

True

True

False

False

False

Para obtener información acerca de cuándo
se genera un error en tiempo de ejecución por el operador
&&, consulte la tabla de comportamiento de
operadores.

JScript utiliza las siguientes reglas para convertir
valores que no son de tipo Boolean en valores de tipo
Boolean:

  • Todos los objetos se consideran iguales a
    True.
  • Las cadenas se consideran iguales a True si y
    sólo si están vacías.
  • null y no definido se consideran iguales a
    False.
  • Los números se consideran como valores False
    si y sólo si son iguales a 0.

Operador %

Descripción

Divide dos números y devuelve el
resto.

Sintaxis

resultado = número1 %
número2

La sintaxis del operador % tiene las siguientes
partes:

Parte

Descripción

resultado

Cualquier variable.

número1

Cualquier expresión
numérica.

número2

Cualquier expresión
numérica.

Comentarios

El operador módulo, o resto, divide
número1 por número2 (los
número de coma flotante se redondean a enteros) y devuelve
el resto como el valor de resultado. Por ejemplo, en la
siguiente expresión, A (que es resultado) tiene un
valor igual a 5.

A = 19 % 6.7

Para obtener más información acerca de
cuándo se genera un error en tiempo de ejecución
por el operador %, consulte la tabla de comportamiento de
operadores.

Operador *

Descripción

Multiplica dos números.

Sintaxis

resultado =
número1*número2

La sintaxis del operador * tiene las siguientes
partes:

Parte

Descripción

resultado

Cualquier variable.

número1

Cualquier expresión.

número2

Cualquier expresión.

Comentarios

Para obtener información acerca de cuándo
se genera un error en tiempo de ejecución por el operador
*, consulte la tabla de comportamiento de
operadores.

Operador –

Descripción

Se utiliza para encontrar la diferencia entre dos
números o para indicar el valor negativo de una
expresión numérica.

Sintaxis 1

resultado = número1
número2

Sintaxis 2

número

La sintaxis del operador tiene las siguientes
partes:

Parte

Descripción

resultado

Cualquier variable numérica.

número

Cualquier expresión
numérica.

número1

Cualquier expresión
numérica.

número2

Cualquier expresión
numérica.

Comentarios

En la sintaxis 1, el operador es el operador
aritmético de sustracción utilizado para encontrar
la diferencia entre dos números. En la sintaxis 2, el
operador se utiliza como el operador unario de
negación para indicar el valor negativo de una
expresión.

Para obtener información acerca de cuándo
se genera un error en tiempo de ejecución por la sintaxis
2, consulte la tabla de comportamiento de operadores.

Para la sintaxis 2, como para todos los operadores
unarios, las expresiones se evalúan de la siguiente
forma:

  • Si se aplica a expresiones con valores no definido o
    null, se genera un error en tiempo de
    ejecución.
  • Los objetos se convierten en cadenas.
  • Las cadenas se convierten en números, si es
    posible. Si no, se genera un error en tiempo de
    ejecución.
  • Los valores de tipo Boolean se tratan como
    números (0 si es igual a False, 1 si es
    True).

Se aplica el operador al número resultante. En la
sintaxis 2, si el número resultante es distinto de cero,
resultado tiene un valor igual al número resultante
con el signo invertido. Si el número resultante es cero,
resultado tiene un valor igual a cero.

Operador new

Descripción

Crea un nuevo objeto.

Sintaxis

new
constructor[(argumentos)]

El argumento constructor llama al constructor del
objeto. Se pueden omitir los paréntesis si el constructor
no recibe argumentos.

Comentarios

El operador new realiza las siguientes
tareas:

  1. Crea un objeto sin miembros.
  2. Llama al constructor para el objeto, pasando un
    puntero al objeto recién creado como puntero
    this.

El constructor inicia el objeto de acuerdo con los
argumentos pasados al constructor.

Estos son ejemplos de uso correcto del operador
new:

mi_objeto = new Object;

mi_matriz = new Array();

mi_fecha = new Date("5 de enero de 1996");

 

Precedencia de operadores

EN JScript los operadores se evalúan en un orden
particular. Este orden se conoce como la precedencia de
operadores. La siguiente tabla muestra una lista de los
operadores en orden de precedencia de mayor a menor. Los
operadores con igual precedencia se evalúan de izquierda a
derecha en la expresión.

Operador >>

Descripción

. [] ()

Acceso a campos, indexación de matrices y llamadas a funciones

++ — – ~ ! delete new typeof void

Operadores unarios, tipos de datos devueltos,
creación de objetos, valores no
definidos

* / %

Multiplicación, división,
división módulo

+ – +

Adición, sustracción,
concatenación de cadenas

<< >> >>>

Desplazamiento de bits

< <= > >= instanceof

Menor que, menor o igual que, mayor que, mayor o
igual que, instanceof

== != === !==

Igualdad, desigualdad, identidad, desidentidad

&

AND de bits

^

XOR de bits

|

OR de bits

&&

AND lógico

||

OR lógico

?:

Condicional

= OP=

Asignación, asignación con
operación

,

Evaluación múltiple

Los paréntesis se usan para modificar el orden de
evaluación. La expresión encerrada entre
paréntesis se evalúa por completo antes de usar su
valor en el resto de la instrucción.

Un operador con mayor precedencia se evalúa antes
que uno con menor precedencia. Por ejemplo:

z = 78 * (96 + 3 + 45)

En esta expresión hay cinco operadores: =, *, (),
+ y +. Según las normas de
precedencia, se evalúan en el siguiente orden: (), *, +,
+, =.

  1. Lo primero es la evaluación de la
    expresión que está encerrada entre
    paréntesis: Hay dos operadores de adición y
    tienen la misma precedencia: Se suma 96 y 3 y al total
    resultante se suma 45, dando como resultado un valor igual a
    144.
  2. Lo siguiente es la multiplicación: Se
    multiplican 78 y 144, dando como resultado un valor igual a
    10998.
  3. Por último se realiza la asignación: Se
    asigna 11232 a z.

Operador typeof

Descripción

Devuelve una cadena que identifica el tipo de datos de
una expresión.

Sintaxis

typeof [ ( ] expresión [ ) ]
;

El argumento expresión es cualquier
expresión para la que se busca la información del
tipo.

Comentarios

El operador typeof devuelve información
del tipo como una cadena. El operador typeof devuelve uno
de entre seis valores posibles: "number," "string," "boolean,"
"object," "function," y "undefined."

Los paréntesis son opcionales en la sintaxis de
typeof.

Operador void

Descripción

Evita que una expresión devuelva un
valor.

Sintaxis

void expresión

El argumento expresión es un cualquier
expresión Jscript válida.

Comentarios

El operador void evalúa su
expresión y devuelve no
definido
. Este operador se usa cuando desea
evaluar una expresión pero no desea que permanezca visible
al resto de la secuencia de comandos.

Operadores de asignación
compuestos

Operador +=

Descripción

Usado para incrementar una variable en una cantidad
especificada.

Sintaxis

resultado +=
expresión

La sintaxis del operador += tiene las siguientes
partes:

Parte

Descripción

resultado

Cualquier variable.

expresión

Cualquier expresión.

Comentarios

Usar este operador es exactamente igual que
especificar:

resultado = resultado + expresión

El tipo subyacente de las expresiones determina el
comportamiento del operador +=.

Si

Entonces

Ambas expresiones son numéricas o de tipo
Boolean

Sumar.

Ambas expresiones son cadenas

Concatenar.

Una expresión es numérica y la
otra es una cadena

Concatenar.

Para obtener información acerca de cuándo
se genera un error en tiempo de ejecución por el operador
+= consulte la tabla de comportamiento de
operadores.

Operador &=

Descripción

Se utiliza para realizar una operación AND de
bits en una expresión.

Partes: 1, 2, 3, 4, 5
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter