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 try…catch:
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:
- Evalúa expresión y examina etiqueta para determinar si se encontró una coincidencia.
- 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.
- 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.
- 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 try…catch:
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);
}
Página anterior | Volver al principio del trabajo | Página siguiente |