Descargar

Tutorial de Jscript (página 4)

Enviado por Everts Garay


Partes: 1, 2, 3, 4, 5

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 operador &= obtiene la representación binaria de los valores de resultado y expresión y realiza una operación AND con los bits de las mismas. La salida de esta operación se comporta de esta forma:

0101 (resultado)

1100 (expresión)

—-

0100 (salida)

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 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

Se utiliza para realizar una operación OR de bits 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

Usar este operador es exactamente igual que especificar:

resultado = resultado | expresión

El operador |= obtiene la representación binaria de los valores de resultado y expresión y realiza una operación OR con los bits de las misma. La salida de esta operación se comporta de esta forma:

0101 (resultado)

1100 (expresión)

—-

1101 (salida)

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 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

Se utiliza para realizar una operación OR exclusivo de bits 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

Usar el operador ^= es exactamente igual que especificar:

resultado = resultado ^ expresión

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

0101 (resultado)

1100 (expresión)

—-

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 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 dividir una variable por una expresión.

Sintaxis

resultado /= expresión

La sintaxis del operador /= tiene las siguientes partes:

Parte

Descripción

resultado

Cualquier variable numérica.

expresión

Cualquier expresión numérica.

Comentarios

Usar el operador /= es exactamente igual que especificar:

resultado = resultado / expresión

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

Se utiliza para desplazar los bits de una expresión hacia la izquierda.

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 el operador <<= es exactamente igual que especificar:

resultado = resultado << expresión

El operador <<= desplaza los bits de resultado a la derecha, el número de bits especificados en expresión. Por ejemplo:

var temp

temp = 14

temp <<= 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). Los bits se rellenan con ceros al desplazar.

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 sólo el resto.

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

Usar el operador %= es exactamente igual que especificar:

resultado = resultado % expresión

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 multiplicar un número por otro número.

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 el operador *= es exactamente igual a especificar:

resultado = resultado * expresión

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 desplazar los bits de una expresión hacia la derecha, conservando el signo.

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 el operador >>= es exactamente igual que especificar:

resultado = resultado >> expresión

El operador >>= desplaza los bits de resultado hacia la derecha, el número de bits especificado en expresión. El bit de signo de resultado 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

temp >>= 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

Se utiliza para sustraer a una variable, el valor de una expresión.

Sintaxis

resultado -= expresión

La sintaxis del operador -= tiene las siguientes partes:

Parte

Descripción

resultado

Cualquier variable numérica.

expresión

Cualquier expresión numérica.

Comentarios

Usar el operador -= es exactamente igual que especificar:

resultado = resultado – expresión

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 aplicar un desplazamiento a la derecha sin signo 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.

Comentarios

Usar el operador >>>= es exactamente igual que especificar:

resultado = resultado >>> expresión

El operador >>>= desplaza los bits de resultado hacia la derecha, el número de bits especificado en expresión. 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

temp >>>= 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.

Microsoft® JScript®  Funciones

Función GetObject

Descripción

Devuelve una referencia a un objeto de automatización desde un archivo.

Sintaxis

GetObject([nombrederuta] [, clase])

La función GetObject tiene las siguientes partes:

Parte

Descripción

nombrederuta

Opcional. Ruta completa y nombre del archivo que contiene el objeto que va a recuperar. Si se omite nombrederuta, clase es necesario.

clase

Opcional. Clase del objeto.

El argumento clase utiliza la sintaxis nombredeaplicación.tipodeobjeto y tiene las siguientes partes:

Parte

Descripción

nombredeaplicación

Requerido. El nombre de la aplicación que proporciona el objeto.

tipodeobjeto

Requerido. Tipo o clase del objeto creado.

Comentarios

Use la función GetObject para tener acceso a un objeto de automatización desde un archivo. Asigna el objeto devuelto por GetObject a la variable de objeto. Por ejemplo:

var CADObject;

CADObject = GetObject("C:/CAD/SCHEMA.CAD");

Cuando se ejecuta este código, se inicia la aplicación asociada con el nombrederuta especificado y se activa el objeto del archivo especificado. Si nombrederuta es una cadena de longitud cero (""), GetObject devuelve una instancia de un nuevo objeto del tipo especificado. Si se omite el argumento nombrederuta, GetObject devuelve un objeto actualmente activo del tipo especificado. Si no existe un objeto del tipo especificado se produce un error.

Algunas aplicaciones le permiten activar parte de un archivo. Agregue un signo de exclamación (!) al final del nombre de archivo seguido de una cadena que especifique la parte del archivo desea activar. Para obtener información acerca de cómo crear esta cadena consulte la documentación de la aplicación que crea el objeto.

Por ejemplo, en una aplicación de dibujo puede tener muchas capas de dibujo almacenadas en un archivo. Puede utilizar el código siguiente para activar una capa dentro de un dibujo llamado SCHEMA.CAD:

var LayerObject = GetObject("C:/CAD/SCHEMA.CAD!Layer3");

Si no especifica la clase del objeto, el servidor de automatización determina la aplicación que va a iniciar y el objeto que va a activar, basándose en el nombre de archivo proporcionado. Algunos archivos, de todas formas, pueden ser compatibles con más de una clase de objetos. Por ejemplo, un dibujo puede ser compatible con tres tipos diferentes de objetos: un objeto Aplicación, un objeto Dibujo y un objeto Barra de Herramientas, todos ellos parte del mismo archivo. Para especificar qué tipo de objeto desea activar en un archivo, utilice el argumento opcional clase. Por ejemplo:

var MiObjeto;

MiObjeto= GetObject("C:/DRAWINGS/SAMPLE.DRW", "FIGMENT.DRAWING");

En el ejemplo anterior, FIGMENT es el nombre de una aplicación de dibujo y DRAWING es uno de los tipos de objeto que permite. Una vez que un objeto se activa, se le hace referencia mediante la variable objeto definida. En el ejemplo anterior, se tiene acceso a los propiedades y métodos en el nuevo objeto mediante la variable de objeto MiObjeto. Por ejemplo:

MiObjeto.Line(9, 90);

MiObjeto.InsertText(9, 100, "Hola mundo.");

MiObjeto.SaveAs("C:/DIBUJO/EJEMPLO.DRW");

Nota  Utilice la función GetObject cuando exista una instancia actual del objeto, o si desea crear el objeto con un archivo ya cargado. Si no existe ninguna instancia actual y no desea que el objeto se inicie con un archivo ya cargado, utilice el objeto ActiveXObject.

Si un objeto se registró como un objeto de una única instancia, sólo se creará una instancia del objeto, sin importar cuantas veces se ejecute ActiveXObject. Con un objeto de instancia única, GetObject siempre devuelve la misma instancia cuando se llama con la sintaxis de cadena de longitud cero ("") y genera un error si se omite el argumento nombrederuta.

 

Función ScriptEngine

Descripción

Devuelve una cadena que representa el lenguaje de secuencias de comandos que está utilizando.

Sintaxis

ScriptEngine( )

Valores devueltos

La función ScriptEngine puede devolver alguna de las siguientes cadenas:

String

Descripción

JScript

Indica que Microsoft JScript es el motor de secuencias de comandos actual.

VBA

Indica que Microsoft Visual Basic® for Applications es el motor de secuencias de comandos actual.

VBScript

Indica que Microsoft Visual Basic Scripting Edition es el motor de secuencias de comandos actual.

Comentarios

El siguiente código muestra el uso de la función ScriptEngine:

function ObtenerInformacionMotorDeSecuenciasDeComandos()

{

var s;

s = ""; // Construir cadena con información necesaria.

s += ScriptEngine() + " Versión ";

s += ScriptEngineMajorVersion() + ".";

s += ScriptEngineMinorVersion() + ".";

s += ScriptEngineBuildVersion();

return(s);

}

Función ScriptEngineBuildVersion

Descripción

Devuelve el número de build del motor de secuencias de comandos que está utilizando.

Sintaxis

ScriptEngineBuildVersion( )

Valores devueltos

El valor devuelto corresponde directamente con la información de versión contenida en la biblioteca de vínculos dinámicos (DLL) del lenguaje de secuencias de comandos que está utilizando.

Comentarios

El siguiente código muestra el uso de la función ScriptEngineBuildVersion:

function ObtenerInformacionMotorDeSecuenciasDeComandos()

{

var s;

s = ""; // Construir cadena con información necesaria.

s += ScriptEngine() + " Versión ";

s += ScriptEngineMajorVersion() + ".";

s += ScriptEngineMinorVersion() + ".";

s += ScriptEngineBuildVersion();

return(s);

}

Función ScriptEngineMajorVersion

Descripción

Devuelve el número de versión principal del motor de secuencias de comandos que está utilizando.

Sintaxis

ScriptEngineMajorVersion( )

Valores devueltos

El valor devuelto corresponde directamente con la información de versión contenida en la biblioteca de vínculos dinámicos (DLL) del lenguaje de secuencias de comandos que está utilizando.

Comentarios

El siguiente código muestra el uso de la función ScriptEngineMajorVersion:

function ObtenerInformacionMotorDeSecuenciasDeComandos()

{

var s;

s = ""; // Construir cadena con información necesaria.

s += ScriptEngine() + " Versión ";

s += ScriptEngineMajorVersion() + ".";

s += ScriptEngineMinorVersion() + ".";

s += ScriptEngineBuildVersion();

return(s);

}

Función ScriptEngineMinorVersion

Descripción

Devuelve el número de versión secundaria del motor de secuencias de comandos que está utilizando.

Sintaxis

ScriptEngineMinorVersion( )

Valores devueltos

El valor devuelto corresponde directamente con la información de versión contenida en la biblioteca de vínculos dinámicos (DLL) del lenguaje de secuencias de comandos que está utilizando.

Comentarios

El siguiente código muestra el uso de la función ScriptEngineMinorVersion:

function ObtenerInformacionMotorDeSecuenciasDeComandos()

{

var s;

s = ""; // Construir cadena con información necesaria.

s += ScriptEngine() + " Versión ";

s += ScriptEngineMajorVersion() + ".";

s += ScriptEngineMinorVersion() + ".";

s += ScriptEngineBuildVersion();

return(s);

}

Microsoft® JScript®  Instrucciones

Instrucción @cc_on

Descripción

Activa la compatibilidad con la compilación condicional.

Sintaxis

@cc_on

Comentarios

La instrucción @cc_on activa la compilación condicional en el motor de secuencias de comandos.

Se recomienda usar la instrucción @cc_on en un comentario, de forma que los exploradores que no sean compatibles con la compilación condicional acepten la sintaxis de su secuencia de comandos:

/*@cc_on*/

(resto de la secuencia de comandos)

De manera alternativa, una instrucción @if o @set fuera de un comentario también activa la compilación condicional.

Instrucción @if

Descripción

En base a una condición, ejecuta un grupo de instrucciones, dependiendo del valor de una expresión.

Sintaxis

@if (condición1)      texto1 [@elif (condición2)      texto2] [@else      texto3] @end

La sintaxis de la instrucción @if tiene las siguientes partes:

Parte

Descripción

condición1, condición2

Una expresión que se puede convertir en una expresión de tipo Boolean.

texto1

Texto que se va a analizar si condición1 es true.

texto2

Texto que se va a analizar si condición1 es false y condición2 es true.

texto3

Texto que se va a analizar si condición1 y condición2 son false.

Comentarios

Al escribir una instrucción @if, no es necesario colocar cada cláusula en una línea separada. Puede utilizar múltiples cláusulas @elif, sin embargo, todas las cláusulas @elif deben aparecer antes de una cláusula @else.

Normalmente se utiliza la instrucción @if para determinar qué texto, entre varias opciones, se debe utilizar para la salida del texto. Por ejemplo:

alert(@if (@_win32) "utilizando Windows NT o Windows 95" @else "utilizando Windows 3.1" @end)

Instrucción @set

Descripción

Crea variables utilizadas con instrucciones de compilación condicional.

Sintaxis

@set @nombredevariable = termino

La sintaxis de la instrucción @set tiene las siguientes partes:

Parte

Descripción

nombredevariable

Nombre válido de variable de JScript. Debe ser siempre precedido por un carácter "@".

termino

Cero o más operadores unarios seguidos por una constante, variable de compilación condicional o expresión entre paréntesis.

Comentarios

Las variables de tipo numérico y Boolean se admiten en la compilación condicional. Las variables de tipo String no se aceptan. Las variables creadas mediante @set se utilizan generalmente en la compilación condicional, pero se pueden utilizar en cualquier parte del código JScript.

Los ejemplos de declaración de variables tienen este aspecto:

@set @mivariable1 = 12

@set @mivariable2 = (@mivariable1 * 20)

@set @mivariable3 = @_jscript_version

Se admiten los siguientes operadores en las expresiones entre paréntesis:

  • ! ~
  • * / %
  • + –
  • << >> >>>
  • < <= > >=
  • == != === !==
  • & ^ |
  • && ||

Si una variable se utiliza antes de ser definida su valor es NaN.Se puede comprobar el valor NaN mediante la instrucción @if:

@if (@nuevaVariable != @nuevaVariable)

Esto funciona porque NaN es el único valor que no es igual a sí mismo.

Instrucción break

Descripción

Termina el ciclo actual, si se usa junto con una etiqueta, termina la instrucción asociada.

Sintaxis

break [etiqueta];

El argumento opcional etiqueta especifica la etiqueta de la instrucción que se desea detener.

Comentarios

La instrucción break se utiliza, generalmente, en instrucciones switch y en bucles while, for, for…in o do…while. Generalmente usará el argumento etiqueta en instrucciones switch, pero puede ser utilizado en cualquier instrucción tanto simple como compuesta.

La ejecución de la sentencia break sale del bucle o instrucción actual y continúa la ejecución de la secuencia de comandos con la instrucción inmediatamente siguiente.

El siguiente ejemplo muestra el uso de la instrucción break:

function ProbarBreak(puntoderuptura)

{

var i = 0;

while (i < 100)

{

if (i == puntoderuptura)

break;

i++;

}

return(i);

}

Instrucción try…catch

Descripción

Implementa el control de errores para JScript.

Sintaxis

try   instruccióntry catch(excepción)   instruccióncatch

La sintaxis de la instrucción try…catch tiene las siguientes partes:

Parte

Descripción

instruccióntry

Instrucción donde puede ocurrir un error. Puede ser una instrucción compuesta.

excepción

Cualquier nombre de variable. El valor inicial de excepciónes el valor del error producido.

instruccióncatch

Instrucción para controlar errores que ocurren en la instruccióntry asociada. Puede ser una instrucción compuesta.

Observaciones

La instrucción try…catch proporciona una manera de controlar algunos o todos los errores posibles que pueden ocurrir en un bloque dado de código, mientras todavía se ejecuta el código. Si ocurren errores que el programador no controló, JScript simplemente proporciona su mensaje de error normal a un usuario, como si no hubiera control de errores.

El argumento instruccióntry contiene código donde puede ocurrir un error, mientras instruccióncatch contiene el código para controlar cualquier error que ocurra. Si ocurre un error en instruccióntry, el control de programas se pasa a instruccióncatch para su disposición. El valor inicial de excepción es el valor del error que ocurrió en instruccióntry.

Si el error no se puede controlar en la instruccióncatch asociada con instruccióntry donde ocurrió el error, utilice la instrucción throw para propagar, o volver a producir, el error a un controlador de errores de nivel superior.

El ejemplo siguiente lanza un error basado en un valor que se le pasa. Entonces, muestra cómo se controla ese error en una jerarquía de instrucciones trycatch:

función EjemploTryCatch(x)

{

try {

try {

if (x == 0) // Evaluar argumento.

throw "x igual a cero"; // Lanzar un error.

else

throw "x no es igual a cero"; // Lanzar un error diferente.

}

catch(e) { // Controlar los errores "x = 0" aquí.

if (e == "x igual a cero") // Comprobar un error controlado aquí.

return(e + " controlado localmente."); // Devolver el mensaje de error del objeto.

else // No puede controlar el error aquí.

throw e; // Volver a lanzar el error para el próximo

} // controlador de errores.

}

catch(e) { // Controlar otros errores aquí.

return(e + " controlado más arriba."); // Devolver mensaje de error.

}

}

document.write(TryCatchDemo(0));

document.write(TryCatchDemo(1));

Instrucción continue

Descripción

Detiene el ciclo actual de un bucle e inicia un nuevo bucle.

Sintaxis

continue [etiqueta];

El argumento opcional etiqueta especifica la instrucción a la que se aplica continue.

Comentarios

Sólo puede utilizar la instrucción continue dentro de un bucle while, do…while, for o for…in. Al ejecutar la instrucción continue se detiene el ciclo actual del bucle y continúa el flujo del programa al principio del bucle. Esto tiene los siguientes efectos en los distintos tipos de bucle:

  • Los bucles while y do…while verifican su condición y, si es igual a True, vuelven a ejecutar el bucle.
  • Los bucles for ejecutan su expresión de incremento y , si la expresión de verificación es igual a True, vuelven a ejecutar el bucle.
  • Los bucles for…in continúan con el siguiente campo de la variable especificada y vuelven a ejecutar el bucle.

El siguiente ejemplo muestra el uso de la instrucción continue:

function saltar5()

{

var s = "", i=0;

while (i < 10)

{

i++;

// Saltar 5

if (i==5)

{

continue;

}

s += i;

}

return(s);

}

Instrucción do…while

Descripción

Ejecuta un bloque de instrucciones una vez y, después, repite la ejecución del bucle hasta que la evaluación de una expresión de condición devuelva False.

Sintaxis

do    instrucción while (expresión) ;

La sintaxis de la instrucción do…while tiene las siguientes partes:

Parte

Descripción

instrucción

La instrucción que se va a ejecutar si expresión se evalúa a True. Puede ser una instrucción compuesta.

expresión

Una expresión que puede ser convertida a valores True o False de tipo Boolean. Si al evaluar expresión devuelve True, el bucle se vuelve a ejecutar. Si al evaluar expresión devuelve False, el bucle termina.

Comentarios

El valor de expresión no se comprueba hasta la primera iteración del bucle, garantizando que el bucle se ejecutará al menos una vez. Después, se comprueba después de cada iteración correcta del bucle.

El código siguiente utiliza la instrucción do…while para iterar los miembros de la colección Drives:

function ObtenerListaDeUnidades()

{

var fso, s, n, e, x;

fso = new ActiveXObject("Scripting.FileSystemObject");

e = new Enumerator(fso.Drives);

s = "";

do

{

x = e.item();

s = s + x.DriveLetter;

s += " – ";

if (x.DriveType == 3)

n = x.ShareName;

else if (x.IsReady)

n = x.VolumeName;

else

n = "[La unidad no está lista]";

s += n + "<br>";

e.moveNext();

}

while (!e.atEnd());

return(s);

}

Instrucción for

Descripción

Ejecuta un bloque de instrucciones mientras la condición especificada sea igual a True

Sintaxis

for (inicialización; prueba; incremento)     instrucciones

La sintaxis de la instrucción for tiene las siguientes partes:

Parte

Descripción

inicialización

Una expresión. Esta expresión se ejecuta sólo una vez, antes de que el bucle sea ejecutado.

prueba

Una expresión de tipo Boolean. Si al evaluar prueba devuelve True, se ejecuta instrucción. Si al evaluar prueba devuelve False, el bucle termina.

incremento

Una expresión. La expresión de incremento se ejecuta tras cada pasada por el bucle.

instrucción

La instrucción que se ejecutará si al evaluar prueba devuelve True. Puede ser una instrucción compuesta.

Comentarios

El bucle for se utiliza, habitualmente, para ejecutar un bucle un número determinado de veces. El siguiente ejemplo muestra como utilizar el bucle for.

/* i se establece como 0 al principio y se incrementa en 1 al final

de cada iteración. El bucle termina cuando i no es menor

que 10 antes de una iteración del bucle. */

var mimatriz = new Array();

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

{

mimatriz[i] = i;

}

Instrucción for…in

Descripción

Ejecuta una o más instrucciones para cada propiedad de un objeto o cada elemento de una matriz.

Sintaxis

for (variable in [objeto | matriz])     instrucción

La sintaxis de la instrucción for tiene las siguientes partes:

Parte

Descripción

variable

Una variable que puede ser cualquier propiedad de objeto o cualquier elemento de matriz.

objeto, matriz

Un objeto o matriz sobre el que se va a iterar.

instrucción

La instrucción o instrucciones que ejecutar para cada propiedad de objeto o cada elemento de matriz . Puede ser una instrucción compuesta.

Comentarios

Antes de cada iteración del bucle se asigna variable a la siguiente propiedad de objeto o el próximo elemento de matriz. Puede utilizarla en cualquiera de las instrucciones dentro del bucle exactamente de la misma manera que utiliza la propiedad de objeto o el elemento de matriz.

Al iterar sobre un objeto, no hay forma de determinar o controlar el orden en que los miembros del objeto se asignan a variable. Las iteraciones por una matriz se realizarán por orden de elementos, es decir, 0, 1, 2…

El siguiente ejemplo muestra el uso de la instrucción for … in con un objeto utilizado como una matriz asociativa:

function EjemploDeInstruccionForIn()

{

// Crear algunas variables.

var a, clave, s = "";

// Inicializar objeto.

a = ("a": "Atenas", "b": "Belgrado", "c": "El Cairo")

// Iterar las propiedades.

for (clave in a)

{

s += a (clave) + "<BR>";

}

return(s);

}

Nota  Utilice el objeto enumerator para repetir los miembros de una colección.

 

Instrucción function

Descripción

Declara una nueva función.

Sintaxis

function nombredefunción([argumento1 [, argumento2 [, …argumenton]]]) {    instrucciones }

La sintaxis de la instrucción function tiene las siguientes partes:

Parte

Descripción

nombredefunción

El nombre de la función.

argumento1…argumenton

Una lista opcional de argumentos, separados por coma, que la función entiende.

instrucciones

Una o más instrucciones de JScript.

Comentarios

Utilice la instrucción function para declarar una función para uso posterior. El código contenido en instrucciones no se ejecuta hasta que la función es llamada desde otro punto de la secuencia de comandos.

El ejemplo siguiente muestra el uso de la instrucción function:

function mifuncion(arg1, arg2)

{

var r;

r = arg1 * arg2;

return(r);

}

 

Nota  Cuando llame a una función, asegúrese de que siempre incluye los paréntesis y cualquier argumento necesario. Llamar a una función sin paréntesis hace que se devuelva el texto de la función en vez de los resultados de la función.

 

Instrucción if…else

Descripción

En base a una condición, ejecuta un grupo de instrucciones, dependiendo del valor de una expresión.

Sintaxis

if (condición)      instrucción1 [else      instrucción2]

La sintaxis de la instrucción if…else tiene las siguientes partes:

Parte

Descripción

condición

Una expresión de tipo Boolean. Si condición es null o no definido, condición se trata como False.

instrucción1

La instrucción a ser ejecutada si condición se evalúa a True. Puede ser una instrucción compuesta.

instrucción2

La instrucción a ser ejecutada si condición se evalúa a False. Puede ser un instrucción compuesta.

Comentarios

Generalmente es una buena práctica encerrar instrucción1 e instrucción2 entre llaves ({}) para obtener mayor claridad y evitar errores inadvertidos. En el ejemplo siguiente, se puede pensar que else se utiliza con la primera instrucción if, pero se utiliza con la segunda.

if (x == 5)

if (y == 6)

z = 17;

else

z = 20;

Cambiar el código de la siguiente manera elimina cualquier ambigüedad:

if (x == 5)

{

if (y == 6)

z = 17;

}

else

z = 20;

De forma semejante, si desea agregar una instrucción a instrucción1 y no usa llaves, pude crear un error:

if (x == 5)

z = 7;

q = 42;

else

z = 19;

En este caso, hay un error de sintaxis, porque hay más de una instrucción entre las instrucciones if y else. Las llaves son necesarias a ambos lados de las instrucciones entre if y else.

Instrucción con etiqueta

Descripción

Proporciona un identificador para una instrucción.

Sintaxis

etiqueta :     instrucción

La sintaxis de una instrucción con etiqueta tiene las siguientes partes:

Parte

Descripción

etiqueta

Un identificador único utilizado al hacer referencia a la instrucción con etiqueta.

instrucción

La instrucción asociada con etiqueta. Puede ser una instrucción compuesta.

Comentarios

Las instrucciones break y continue utilizan etiquetas para especificar la instrucción a la que se aplican las instrucciones break y continue.

En la siguiente instrucción la instrucción continue utiliza una instrucción con etiqueta para crear una matriz en la que la tercera columna de cada fila contiene un valor no definido:

function EjemploDeEtiqueta()

{

var a = new Array();

var i, j, s = "", s1 = "";

Exterior:

for (i = 0; i < 5; i++)

{

Interior:

for (j = 0; j < 5; j++)

{

if (j == 2)

continue Interior;

else

a[i,j] = j + 1;

}

}

for (i = 0;i < 5; i++)

{

s = ""

for (j = 0; j < 5; j++)

{

s += a[i,j];

}

s1 += s + "n";

}

return(s1)

}

Comentarios de instrucciones

Descripción

Hace que el analizador de JScript pase por alto los comentarios.

Sintaxis 1

Comentarios de una sola línea: // comentario

Sintaxis 2

Comentarios multilínea: /* comentario */

El argumento comentario es el texto de cualquier comentario que desee incluir en la secuencia de comandos.

Sintaxis 3

//@InstrucciónCondicional

Sintaxis 4

/*@ InstrucciónCondicional @*/

El argumento InstrucciónCondicional es código de compilación condicional para ser utilizado si la compilación condicional está activada. Si se utiliza la sintaxis 3, no puede haber espacios entre los caracteres "//" y "@".

Comentarios

Utilice los comentarios para evitar que el analizador de JScript lea partes de la secuencia de comandos. Puede utilizar comentarios para incluir observaciones explicativas en un programa.

Si utiliza la sintaxis 1 el analizador pasa por alto cualquier texto entre la marca de comentario y el final de la línea. Si utiliza la sintaxis 2 ignora cualquier texto entre los marcadores de principio y fin de comentario.

Las sintaxis 3 y 4 se utilizan en la compatibilidad con compilación condicional al tiempo que conservan la compatibilidad con exploradores que no sean compatibles con esta característica. Estos exploradores tratan estos comentarios como las sintaxis 1 y 2 respectivamente.

El siguiente ejemplo muestra los usos más comunes de la instrucción de comentario:

function mifuncion(arg1, arg2)

{

/* Este es un comentario multilínea que

puede distribuirse a lo largo de varias líneas si es necesario */

var r;

// Este es un comentario de una sola línea

r = arg1 + arg2; // Sumar los dos argumentos

return(r);

}

Instrucción return

Descripción

Sale de la función actual y devuelve un valor desde esa función.

Sintaxis

return [expresión];

El argumento expresión es valor a ser devuelto desde la función. Si se omite, la función no devuelve no ningún valor.

Comentarios

La instrucción return se utiliza para detener la ejecución de una función y devolver el valor de expresión. Si se omite expresión, o la instrucción return no se ejecuta desde el cuerpo de la función, a la expresión que llamó la función actual se le asigna el valor no definido.

El ejemplo siguiente muestra el uso de la instrucción return:

function mifuncion(arg1, arg2)

{

var r;

r = arg1 * arg2;

return(r);

}

Instrucción switch

Descripción

Permite la ejecución de una o más instrucciones cuando el valor de una expresión especificada coincide con una etiqueta.

Sintaxis

switch (expresión) {    case etiqueta :       listadeinstrucciones

   case etiqueta :       listadeinstrucciones

   …    default :       listadeinstrucciones

}

La sintaxis de la instrucción switch tiene las siguientes partes:

Parte

Descripción

expresión

La expresión que se va a evaluar.

etiqueta

Un identificador con el que se compara expresión. Si etiqueta === expresión, la ejecución comienza con el grupo listadeinstrucciones inmediatemente después de los dos puntos y continúa hasta que encuentra una instrucción break, que es opcional, o el final de la instrucción switch.

listadeinstrucciones

Una o más instrucciones para ser ejecutadas.

Comentarios

Utilice la cláusula default para proporcionar una instrucción que se ejecutará en caso de que ninguno de los valores de las etiquetas coincida con expresión. Puede aparecer en cualquier parte de dentro del bloque de código de la instrucción switch.

Se pueden especificar cero o más bloques etiqueta. Si ninguna de las expresiones etiqueta coincide con el valor de expresión y no se proporciona cláusula default, no se ejecuta ninguna instrucción.

La ejecución fluye a lo largo de una instrucción switch de la siguiente manera:

  1. Evalúa expresión y examina etiqueta para determinar si se encontró una coincidencia.
  2. Si el valor de una etiqueta es igual a expresión, ejecuta la listadeinstrucciones que la acompaña. La ejecución continúa hasta que se encuentra una instrucción break o la instrucción switch finaliza. Esto no implica que varios bloques etiqueta se ejecuten si no se utiliza una instrucción break.
  3. Si el valor de ninguna etiqueta es igual a expresión, va a la cláusula default. Si no hay cláusula default, va al último paso.
  4. La ejecución continúa en la instrucción que sigue al final del bloque de código switch.

El siguiente ejemplo comprueba el tipo de un objeto:

function MiObjeto() {

…}

switch (object.constructor){

case Date:

case Number:

case String:

case MiObjeto:

default:

}

Instrucción this

Descripción

Hace referencia al objeto actual.

Sintaxis

this.propiedad

Comentarios

La palabra clave this se utiliza generalmente en constructores de objetos para hacer referencia al objeto actual. En el ejemplo siguiente, this hace referencia al objeto recién creado Automovil y asigna valores a tres de sus propiedades:

function Automovil(color, fabricante, modelo)

{

this.color = color;

this.fabricante = fabricante;

this.modelo = modelo;

}

Para versiones cliente de JScript, this hace referencia al objeto window si se utiliza fuera del contexto de cualquier otro objeto.

Instrucción throw

Descripción

Genera una condición de error que se puede controlar con una instrucción try…catch.

Sintaxis

throw excepción

El argumento excepción puede ser cualquier expresión.

Observaciones

El ejemplo siguiente lanza un error basado en un valor pasado y después muestra cómo se controla ese error en una jerarquía de instrucciones trycatch:

función TryCatchDemo(x)

{

try {

try {

if (x == 0) // Evaluar argumento.

throw "x igual a cero"; // Lanzar un error.

else

throw "x no es igual a cero"; // Lanzar un error diferente.

}

catch(e) { // Controlar los errores "x = 0" aquí.

if (e == "x igual a cero") // Comprobar un error controlado aquí.

return(e + " controlado localmente."); // Devuelve mensaje de error de objeto.

else // No puede controlar el error aquí.

throw e; // Volver a lanzar el error parar el próximo

} // controlador de errores.

}

catch(e) { // Controlar otros errores aquí.

return(e + " controlado más arriba."); // Devolver mensaje de error.

}

}

document.write(TryCatchDemo(0));

document.write(TryCatchDemo(1));

Instrucción var

Descripción

Declara una variable.

Sintaxis

var variable [ = valor ] [, variable2 [ = valor2], …]

La sintaxis de la instrucción var tiene las siguientes partes:

Parte

Descripción

variable, variable2

Los nombres de las variables que se declaran.

valor, valor2

Los valores iniciales asignados a la variable.

Comentarios

Utilice las instrucción var para declarar variables. A estas variables se les puede asignar valores en la declaración o más adelante en la secuencia de comandos. Ejemplos de declaración:

var indice;

var nombre = "Carlos Rodríguez";

var respuesta= 42, contador, numerodepaginas= 10;

 

Instrucción while

Descripción

Ejecuta una instrucción hasta que la condición especificada sea iguala a False.

Sintaxis

while (expresión)    instrucción

La sintaxis de la instrucción while tiene las siguientes partes:

Parte

Descripción

expresión

Una expresión de tipo Boolean comprobada antes de cada iteración del bucle. Si al evaluar expresión devuelve True, el bucle se ejecuta. Si al evaluar expresión devuelve False, el bucle termina.

instrucción

La instrucción que se va a ejecutar si expresión se evalúa a True. Puede ser una instrucción compuesta.

Comentarios

La instrucción while comprueba expresión antes de ejecutar el primer bucle. Si al evaluar expresión devuelve False en este momento, el bucle nunca se ejecuta.

El siguiente ejemplo muestra el uso de la instrucción while:

function ProbarBreak(puntoderuptura)

{

var i = 0;

while (i < 100)

{

if (i == puntoderuptura)

break;

i++;

}

return(i);

}

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