Cómo escribir una función en vbscript. Lenguaje de scripting para páginas web VBScript. Usar subrutinas y funciones
En esta lección hablaremos de funciones Función...Finalizar función- una subrutina que regresa cierto valor y sobre procedimiento Sub...Fin Sub- una subrutina que no devuelve nada. Podrían llegar a ser una pareja vital necesario para resolver ciertos problemas ensecuencias de comandos VBScript.
Función...Finalizar función.
lenguaje VBScript le permitirá crear sus propias funciones y procedimientos, y ahora tenemos que resolver esto.
La función (Función ... Función final) puede resultarnos útil cuando necesitamos realizar la misma acción (escenario, en otras palabras, expresión) varias veces, pero con datos diferentes. En lugar de duplicar la misma expresión cien veces, puedes escribirla sólo una vez.
La palabra clave es lo primero Función, y después viene el nombre de la función, que se le ocurrió a usted mismo. Después de su nombre, los parámetros de la función se indican entre paréntesis, separados por comas. Luego viene el cuerpo de la función, que se cierra con palabras clave. Función final. Veamos un ejemplo:
"VBScript Lección No. 3 "file_1.vbs dim a, b Función fun_name(a, b) Dim rezult rezult = a+b fun_name = rezult "asigna el valor a la función que nos devolverá End Function MsgBox fun_name(5,110 ) MsgBox nombre_diversión(15,16) MsgBox nombre_diversión(25,15)
"Lección VBScript nº 3 "Funciones (Función... Fin de Función) y procedimientos (Sub... Fin de Sub) "archivo_1.vbs tenue a, b Función fun_name (a, b) resultado oscuro resultado = a + b fun_name = resultado "asignamos el valor a la función que nos devolverá Función final MsgBox nombre_divertido (5, 110) MsgBox nombre_divertido (15, 16) MsgBox nombre_divertido (25, 15) |
El ejemplo muestra que puedes declarar tus propias variables en una función. También puedes asignar un valor a una variable en el cuerpo de la propia función, que nos devolverá. Esta variable tiene el mismo nombre que la función. Esto es necesario para que la función nos devuelva valores cuando sea llamada usando MsgBox al final del ejemplo. Si esto no es necesario, entonces la función se llama así: fun_name 5,110 (sin paréntesis).
Todo parece quedar claro con esto. Ahora sigamos adelante.
Subprocedimiento...Fin Sub.
El procedimiento Sub... End Sub se puede utilizar para los mismos fines que la función (Función... Función final), pero con una condición: no devuelve ningún valor. Todo sucede en el cuerpo del propio procedimiento.
El procedimiento se declara mediante la palabra clave. Sub, seguido de un nombre arbitrario del procedimiento y su valor entre paréntesis. El procedimiento se cierra con palabras clave. Subtítulo final. Veamos un ejemplo:
"VBScript Lección No. 3 "Funciones (Función... Fin de Función) y Procedimientos (Sub... Fin Sub) "file_2.vbs dim a, b Sub sub_name(a, b) Dim rezult rezult = a+b MsgBox rezult Fin Sub Llamar sub_nombre(5,110) Llamar sub_nombre(15,16) Llamar sub_nombre(25,15) sub_nombre 25,1
"Lección VBScript nº 3 "Funciones (Función... Fin de Función) y procedimientos (Sub... Fin de Sub) "archivo_2.vbs tenue a, b Sub sub_nombre (a, b) |
Universidad Pedagógica Estatal de Omsk
Departamento de Ciencias de la Computación
trabajo del curso
Análisis comparativo de los lenguajes de programación JavaScript y VBScript.
Comprobado por: Kiryakova I.V.
Completado por: Poroskov D.V.
Grupo: 34
Introducción….3
Panorama general del idioma...4
Tipos de datos...5
Variables…8
Operadores…10
Operadores de control…13
Procedimientos...19
Objetos…21
Referencias…24
Introducción
Los modelos de objetos de los lenguajes de scripting están estrechamente relacionados con etiquetas HTML. Al cargar
Páginas HTML en el navegador, el intérprete de idiomas crea objetos con propiedades,
ciertos valores de etiquetas de página. Se dice que el navegador refleja HTML
página en las propiedades de los objetos, y a veces este proceso se llama reflexión
(reflexión). Los objetos creados existen en forma de una estructura jerárquica,
reflejando la estructura de la propia página HTML. Ubicado en el nivel superior
un objeto de ventana que representa la ventana activa del navegador. Más abajo
a la escalera jerárquica le siguen el marco, el documento, la ubicación y el historial de los objetos,
representando respectivamente el marco, el documento en sí, la dirección
documento descargado y una lista de documentos descargados anteriormente, etc.
Los valores de propiedad del objeto reflejan los valores de los parámetros correspondientes.
etiquetas de página o parámetros del sistema instalados.
Para uso correcto Los modelos de objetos deben entenderse claramente cómo
El navegador organiza las páginas y crea así una jerarquía de objetos. En
Al cargar, las páginas se ven de arriba a abajo, por lo que secuencialmente
La página se presenta y se muestra en la ventana del navegador. y esto
significa que el modelo de objetos de página también está formado
secuencialmente a medida que se procesa. Por lo tanto es imposible contactar desde
script ubicado antes de cualquier formulario en la página, a los elementos
este formulario. Siempre debes recordar que el navegador constantemente
Interpreta el contenido de una página HTML de arriba a abajo.
Otro aspecto de trabajar con objetos en lenguajes de scripting es que
No se pueden cambiar las propiedades de los objetos. El navegador solo procesa la página.
una vez, componiéndolo y mostrándolo. Por tanto, un intento de cambio en el guión.
La propiedad del elemento de página mostrado está condenada a fallar. Solo
Descripción general del idioma.
El lenguaje de programación JavaScript fue desarrollado por Netscape para crear
Documentos HTML interactivos. Es un lenguaje de desarrollo orientado a objetos.
aplicaciones integradas que se ejecutan tanto en el lado del cliente como en el
lado del servidor. La sintaxis del lenguaje es muy similar a la sintaxis del lenguaje Java:
por eso a menudo se le llama similar a Java. Las aplicaciones cliente se están ejecutando
navegador para ver documentos web en la máquina del usuario, servidor
Las aplicaciones se ejecutan en el servidor.
Al desarrollar ambos tipos de aplicaciones, se utiliza un componente de lenguaje común,
llama el núcleo e incluye definiciones de objetos estándar y
construcciones (variables, funciones, objetos principales y LiveConnect
interacción con subprogramas de Java) y los componentes complementarios correspondientes
objetos.
Las aplicaciones cliente están directamente integradas en páginas HTML y
interpretado por el navegador como partes del documento que se muestran en su ventana.
Aplicaciones de servidor para aumentar el rendimiento por adelantado
compilado en código de bytes intermedio.
Las principales áreas de uso del lenguaje JavaScript al crear interactivo.
Páginas HTML:
Crear dinámicamente un documento usando un script
Verificación rápida de la autenticidad de los campos del formulario completados por el usuario
HTML antes de enviarlos al servidor
Crear páginas HTML dinámicas con tablas en cascada
estilos y modelo de objetos de documento
Interacción con el usuario a la hora de resolver problemas “locales” resueltos
una aplicación JavaScript integrada en una página HTML
El lenguaje de programación VBScript fue desarrollado por Microsoft y está
un subconjunto de un lenguaje bastante común entre los programadores
Visual Básico Desarrollo de aplicaciones Windows. Al igual que su padre
El lenguaje VBScript es bastante simple y fácil de aprender.
La ventaja de usarlo para crear scripts es la capacidad
utilizando, con pequeños ajustes, procedimientos previamente escritos sobre
Visual Basic y lenguajes visuales Básico para Solicitud.
La funcionalidad de los scripts escritos en VBScript no es nada.
difieren de las posibilidades secuencias de comandos JavaScript: creación dinámica
documento o sus partes, interceptación y procesamiento de eventos, etc.
VBScript se utiliza para escribir scripts de cliente (en este caso
el navegador debe tener un intérprete incorporado para este idioma), y también para
escribir scripts en el servidor (en este caso, el servidor debe admitir
lenguaje VBScript). Para crear scripts de cliente, se utiliza un conjunto de objetos,
similar a un conjunto de objetos JavaScript. Objetos de cliente y servidor
difieren entre sí, pero hay una parte común (núcleo) de los objetos,
utilizado en el desarrollo de scripts de cliente y servidor.
Tipos de datos
Como cualquier otro lenguaje de programación, JavaScript utiliza variables.
para almacenamiento de datos cierto tipo. La implementación de JavaScript es
ejemplo de idioma uso gratuito tipos. no es necesario
establecer el tipo de variable. Su tipo depende del tipo de datos almacenados en él,
Además, cuando cambia el tipo de datos, también cambia el tipo de variable.
JavaScript admite cuatro tipos de datos simples:
Real
Cadena
Booleano o lógico
Para asignar valores de tipos básicos a variables, se utilizan literales:
valores de datos literales de los tipos correspondientes.
Los literales enteros son una secuencia de dígitos y representan valores ordinarios.
Enteros con o sin signo:
123 // entero positivo
123 // entero negativo
123 // entero positivo
Para especificar literales reales, utilice la sintaxis numérica con
punto decimal que separa la parte fraccionaria de un número del número entero, o notación
números reales en notación científica, indicados después del símbolo “e” o “E”
orden de número. Ejemplo de números reales correctos:
1,25 0,125e01 12,5E-1 0,0125E+2
El literal de cadena es una secuencia de caracteres alfanuméricos,
encerrado en un solo (') o comillas dobles(“”), por ejemplo: “Ira”,
“IRA”. Al configurar variables de cadena, no se pueden mezclar simples y
comillas dobles. Es inaceptable especificar una cadena, por ejemplo, en el formato "Ira".
Las comillas dobles son un carácter independiente, no una secuencia.
dos caracteres de comillas simples. Si necesita usar el símbolo en una cadena
comillas, entonces la cadena literal debe estar entre comillas
del tipo opuesto:
“Es una cadena” // El valor de la cadena es Es una cadena
Los literales booleanos tienen dos valores: verdadero y falso, y se utilizan para
Procesamiento de situaciones de sí/no en operadores de comparación.
VBScript define solo un tipo de datos: Variante. es universal
un tipo que puede almacenar información proporcionada por otros tipos
datos utilizados en programación, comenzando desde el conjunto más simple y
terminando con objetos.
En su uso más simple, el tipo Variante contiene datos numéricos,
o cadenas de caracteres– tipos de datos que se encuentran con mayor frecuencia en
escribiendo un guión. En realidad, los datos contenidos en el tipo de variante se pueden
uno de los tipos, llamados subtipos del tipo Variante, introducidos en
Tabla 1. Subtipos de datos almacenados en el tipo Variante
|Subtipo |Descripción |Función |
| | |transformar|
|Vacío |Variable no inicializada | |
|Nulo |La variable no contiene ningún valor | |
| |datos | |
|Error |Contiene el número de error | |
|Booleano |Contiene Verdadero o Falso |CBool |
|Byte |Contiene números enteros que van de 0 a 255 |CByte |
|Entero |Contiene números enteros en el rango -32.768 a |CInt |
|Moneda |Valores en el rango |CCur |
| |desde -922 337 203 685 477.5808 a | |
| |922 337 203 685 477.5807 | |
|Long |Contiene números enteros en el rango |CLng |
| |de -2 147 483 648 a 2 147 483 647 | |
|Único |Contiene números de punto flotante |CSng |
| |precisión única en el rango | |
| |de -3.402823E38 a -1.401298E-45 | |
| |y de 1.401298E-45 a 3.402823E38 | |
|Doble |Contiene números de coma flotante |CDbl |
| | doble precisión en el rango | |
| |de -1.79769313486232E308 a | |
| |-4.94065645841247E-324 | |
| |para valores negativos | |
| |y de 4.94065645841247E-324 a | |
| |1.79769313486232E308 | |
| |para valores positivos | |
|Fecha(Hora)|Contiene un número que representa la fecha en |CDate |
| |9999 | |
|Cadena |Contiene la cadena longitud variable(hasta 2 |CStr |
| |millones de caracteres) | |
Los primeros tres subtipos, estrictamente hablando, no son subtipos, sino
representan los valores que puede tomar un tipo de variante.
El valor vacío es la variable que se declaró en la declaración Dim.
(ver más abajo), pero aún no se le ha asignado ningún significado. Este es el significado
considerado igual a 0 en operaciones matemáticas e igual a la cadena vacía (“”) en
operaciones con valores de cadena.
Nulo significa que la variable no contiene datos. no debería
confundido con el significado de Vacío. Una variable variante puede obtener un valor.
Nulo como resultado de realizar algunas operaciones sobre él. Este valor puede ser
asignado a una variable, mientras que el valor Vacío no se puede asignar.
El valor de Error es un valor especial que se utiliza para
indicando que ha ocurrido un error en un procedimiento.
Cada subtipo de datos se especifica mediante literales. Literales numéricos
representar números enteros, números reales flotantes o
punto fijo. A continuación se dan ejemplos de literales numéricos:
23' Entero
23.78’ Número real en coma fija
237.8E-1 'Número real en coma flotante
Los literales de cadena se especifican como una secuencia de caracteres encerrados por
entre comillas dobles (“):
"Este es un literal de cadena".
Los literales de fecha y hora están encerrados entre caracteres numéricos (#).
VBScript admite una gran cantidad de formatos de fecha y hora. Próximo
Los ejemplos muestran literales de fecha y hora correctos correspondientes a la fecha.
#6/10/99 22:20#
Internamente, los literales de fecha y hora se representan como reales.
números de doble precisión. La parte entera representa el número de días.
Los literales booleanos Verdadero y Falso son constantes enteras que toman
respectivamente, los valores 1 y 0. Cualquier valor numérico que no sea igual a cero,
es convertido por la función CBool a True, y valor nulo(entero o
real) – a Falso.
Tipo de datos variante cuando se utilizan como operandos en expresiones
Se procesan una variedad de operadores de lenguaje dependiendo del subtipo.
tipo de datos en el operador de suma (+) el resultado depende de qué
contienen subtipos de datos. Si al menos uno de los operandos contiene
número, entonces el resultado será la suma de los valores de dos variables (contenido
segundo operando se convierte a un subtipo numérico) si ambos operandos
El tipo de datos variado proporciona al programador una forma más eficiente
procesar y almacenar datos sin preocuparse por el tipo de datos almacenados. Si,
por ejemplo, al calcular inicialmente en una variable de tipo variante
almacenó un valor de tipo Byte (un número en el rango de 0 a 255), y en
como resultado de realizar algunas acciones, este valor se volvió negativo,
entonces la representación de este número en la variable simplemente cambiará (se convertirá en
Entero) y no se produce ningún error. Es cierto que esta comodidad tiene un precio.
pagar con la memoria utilizada: para el tipo de datos variante independientemente
El subtipo almacenado requiere 16 bytes de memoria.
A veces, en algunos cálculos es necesario convertir explícitamente lo contenido en
subtipo de variable a otro. VBScript tiene varias funciones para ello.
conversiones a tipos apropiados. en la mesa 1 última columna contiene
nombres de funciones de conversión al subtipo correspondiente. Estas funciones están en
Se aceptan como parámetros literales, variables y expresiones.
variables
Cada variable tiene un nombre que debe comenzar con una letra latina
alfabeto, o el carácter de subrayado “_” seguido de cualquier
una combinación de caracteres alfanuméricos o guiones bajos.
Los siguientes nombres son nombres de variables válidos.
JavaScript distingue entre mayúsculas y minúsculas. Esto significa que las minúsculas y
letras mayúsculas El alfabeto se considera caracteres diferentes.
Hay dos formas de definir una variable:
var operador
El operador de asignación (=)
El operador var se utiliza tanto para configuración como para inicialización.
variable y tiene la sintaxis:
var nombre_variable [= valor_inicial];
El operador de asignación opcional especifica los datos que contiene.
variable. Su tipo determina el tipo de variable. Por ejemplo, el siguiente
operador
var día_semana = “viernes”;
configura la variable WeekDay, le asigna el valor de cadena "Viernes" y
definiendo así su tipo como cadena.
Si a una variable no se le asigna ningún valor cuando se define, entonces es
El tipo no está definido. Su tipo se determinará sólo después de que ella sea
asignó un valor usando el operador de asignación =.
Las variables se utilizan para almacenar datos de la aplicación. Antes
la variable se puede utilizar, debe declararse. es posible
implementado explícitamente usando el operador Dim, o implícitamente - simplemente
utilice el nombre de la variable en la declaración de asignación. Sintaxis del operador
La declaración explícita de la variable es la siguiente:
nombre_variable tenue
El parámetro nombre_variable es el nombre de la variable declarada. debe comenzar
que comiencen con una letra, no contengan espacios, punto (.), signo de admiración(!), A
también símbolos (@), (&), ($), (#) y no exceder una longitud de 255 caracteres.
VBScript no distingue entre mayúsculas y minúsculas. Esto significa que no
diferenciando entre letras minúsculas y mayúsculas. Por lo tanto, por ejemplo, tanto m como M serán
referirse a la misma variable si se usa como
identificador de variables.
A veces en un programa es necesario establecer variables cuyos valores no pueden ser
cambiar. Estas variables se denominan constantes nombradas. En VBScript
para establecer constantes existe un operador Const, que tiene lo siguiente
sintaxis:
Const conName = "Dmitry" 'Constante de cadena
Const conPi = 3,1416 ‘Constante numérica
Const conBirthDay = #1-8-53# 'Fecha constante
Operadores
Un operador de asignación se trata como una expresión de asignación que
se evalúa como igual a la expresión del lado derecho y al mismo tiempo asigna
el valor calculado de la expresión variable especificada en el lado izquierdo
operador.
Se crean expresiones aritméticas. operadores aritméticos(Tabla 2).
Tabla 2. Operadores aritméticos
|Operador |Nombre |
|+ |Adición |
|- |Resta |
|* |Multiplicación |
|/ |División |
|% |Resto de la división de números enteros |
|++ |Aumentar el valor de una variable en uno |
|-- |Disminuir el valor de una variable en uno |
Además del operador de asignación simple (=), existen formas abreviadas
operadores de asignación combinados con operadores aritméticos en
que realizan operaciones aritméticas a izquierda y derecha
operandos y el resultado se asigna a la variable especificada por el operando izquierdo.
Todos ellos están enumerados en la tabla. 3.
Tabla 3. Operadores de asignación corta
|Operador |Valor |
|X * = Y |X = X * Y |
|X / = Y |X = X / Y |
|X + = Y |X = X + Y |
|X - = Y |X = X – Y |
|X % = Y |X = X % Y |
Los operadores de comparación se utilizan para crear expresiones booleanas.
Operadores lógicos aplicados a variables de cualquier tipo.
Los operadores de comparación son similares a los de otros lenguajes de programación. Su
la lista se presenta en la tabla. 4.
Tabla 4. Operadores de comparación
|Operador |Nombre |
|== |Igual a |
|!= |No igual |
|>= |Mayor o igual que |
| |Estrictamente más |
Cuando estos operadores se utilizan en una expresión, se evalúa como verdadero.
si la comparación correspondiente es verdadera, en caso contrario el valor de la expresión
es igual a falso.
Los operadores lógicos se presentan en la tabla. 5. Los ejemplos suponen que
variable var1 = 'Ballena', var2 = 'Gato', var3 = falso.
Tabla 5. Operadores lógicos
|Operador |Sintaxis |Descripción |Ejemplo |
|&& (booleano |expr1 && |Devuelve expr1 si |var1 && var2 |
|Y) |expresión2 |se convierte o |(igual a 'Cat')|
| | |es igual a falso, en caso contrario | |
| | |exr2 |var2 && var3 |
| | | |(es igual a falso)|
||| (booleano |expr1 || |Devuelve expr1 si |var1 || var2 |
|O) |expresión2 |se convierte o | |
| | |es igual a verdadero, de lo contrario expr2|(es igual a 'Ballena')|
| | | |var3 || var1 |
| | | |(es igual a 'Ballena')|
| | | |var3 || falso|
| | | |(es igual a falso)|
|! (booleano |!expr |Si expr es verdadero, |!var1 |
|NO) | |devuelve falso; si |(es igual a falso)|
| | |expresión es igual a falso, | |
| | |devuelve verdadero |!var3 |
| | | |(es igual a verdadero) |
Los operadores lógicos y de comparación se utilizan en declaraciones de bucle.
y condiciones para comprobar la finalización de un bucle o la ejecución de un grupo específico
operadores.
Los operadores de cadena se utilizan para crear expresiones de cadena. EN
En JavaScript, estrictamente hablando, solo hay un operador de cadena:
operador de concatenación de cadenas (+), excepto como abreviatura
formas del operador de asignación con suma (+=). Este operador añade
al valor de cadena del primer operando el valor de cadena del segundo, obteniendo
resultado igual a la concatenación de cadenas:
cadena = “Mi”+”cadena”; // El valor de la variable de cadena es "Mystroke"
El operador condicional es el único operador que utiliza tres
operando. Su valor es uno de dos operandos, determinado a partir de
condiciones para la verdad del tercero. Su sintaxis es:
(condición) ? valor1: valor2;
Si el operando de condición es verdadero, entonces el resultado del cálculo es
operador
rango = (marca), menor que (), menor o igual que (=). Los objetos se comparan usando operador especial Es.
VBScript no tiene un carácter especial para el operador de asignación. El mismo
El signo igual se utiliza como operación de asignación.
variable (ver arriba) y para la operación de comparación de igualdad. Significado
La operación representada por este símbolo depende del contexto en el que se realiza.
aplicado.
Hay una serie de operadores que realizan acciones en lógica (booleana)
datos: negación (No), conjunción (Y), disyunción (O), exclusiva
OR (Xor), equivalencia (Eqv) e implicación (Imp).
El operador (&) concatena (une) dos cadenas. Consigo
ejecución, los datos contenidos en los operandos se convierten cuando
necesario para un subtipo de cadena y las dos cadenas se concatenan.
Declaraciones de control
Todo el conjunto de control de idioma se puede dividir en tres grupos:
Declaraciones de selección o condicionales
Declaraciones de bucle
Operadores de manipulación de objetos
Operadores de selección
Este grupo de operadores incluye operadores que realizan
ciertos bloques de afirmaciones dependiendo de la verdad de algunas
Expresión booleana. Esta es una declaración condicional if...else y un interruptor.
La declaración condicional if se utiliza si es necesario evaluar un determinado bloque
operadores dependiendo de la verdad de una condición dada, y tiene lo siguiente
sintaxis:
si (condición) (
operadores1
operadores2
El primer grupo de operadores operadores1 se ejecuta bajo la condición de verdad.
expresiones de condición. Un bloque opcional else especifica un grupo de declaraciones
operadores2, que se ejecutarán si se cumple la condición especificada en
Se puede utilizar cualquier operador dentro de un grupo de declaraciones ejecutables.
JavaScript, incluidos los operadores condicionales. Así, puedes crear
grupo de declaraciones de condiciones anidadas e implementar algoritmos complejos
cheques.
Una declaración de cambio evalúa una expresión y la compara con los valores
especificado en bloques de casos. Si hay una coincidencia, las declaraciones se ejecutan.
bloque de caso correspondiente. La sintaxis de este operador es la siguiente:
cambiar (expresión) (
valor de caso1:
[operadores1]
valor de caso2:
[operadores2]
[operadores]
Si el valor de la expresión en el bloque de cambio es igual al valor1, entonces
grupo de operadores operadores1, si el valor es igual a 2, entonces el grupo se ejecuta
operadores operadores2, etc. Si el valor de la expresión no es igual a uno
a partir de los valores especificados en los bloques de casos, luego se calcula el grupo de declaraciones de bloque
predeterminado, si se especifica este bloque; de lo contrario, sale declaración de cambio.
Una declaración de interrupción opcional, especificada en cada bloque de casos,
Sale incondicionalmente de la declaración de cambio. Si no se especifica, entonces
La ejecución de declaraciones en bloques de casos posteriores continúa hasta el primero.
declaración break o hasta el final del cuerpo de la declaración switch.
Declaraciones de bucle
La declaración de bucle ejecuta repetidamente una secuencia de declaraciones de JavaScript,
definido en su cuerpo hasta que se cumpla alguna condición específica. EN
Hay dos operadores de bucle en el lenguaje: for y while. son diferentes
Mecanismo de organización del ciclo.
El operador de bucle for le permite organizar la ejecución de un bloque de declaraciones
un número determinado de veces. Define una variable llamada variable de bucle,
que cambia su valor durante la ejecución del bucle. Condición
La finalización del ciclo depende del valor de esta variable. El operador tiene
la siguiente sintaxis:
para ([expresión_inicial];[condición];[expresión_modificadora]) (
[operadores]
El parámetro expresión_inicial especifica e inicializa la variable de bucle.
Esta expresión se evalúa una vez al comienzo del ciclo. Después
Se comprueba la verdad de la expresión de condición. Si es cierto, entonces se ejecuta.
un bloque de operadores de cuerpo de bucle delimitados por llaves; calculado
Changing_expression que contiene la variable de bucle y se verifica nuevamente
la verdad de la expresión de la condición. Si es cierto, entonces el ciclo se repite.
cálculos, si no, entonces el operador de bucle completa su ejecución.
El bucle while se ejecuta siempre que la expresión que especifica la condición de ejecución sea verdadera
ciclo. Su sintaxis es la siguiente:
mientras (condición) (
[operadores]
Primero, se verifica la verdad de la condición especificada en el encabezado del bucle y
luego las declaraciones en el cuerpo del bucle se ejecutan (o no se ejecutan). Examen
La verdad de la condición se lleva a cabo en cada paso del ciclo. Usando esto
bucle supone que la expresión condicional para el final del bucle cambia en
dependiendo de los valores calculados de variables y expresiones en el cuerpo del bucle.
A veces es necesario terminar el bucle no de acuerdo con la condición especificada en el encabezado.
bucle, sino como resultado de calcular alguna condición en el cuerpo del bucle. Para esto
En JavaScript, hay declaraciones de interrupción y continuación.
La declaración break finaliza el ciclo y transfiere el control a la declaración.
inmediatamente después de la declaración del bucle. Continuar operador se detiene
ejecución de la iteración actual y comienza la ejecución de la siguiente, es decir en un bucle
mientras transfiere el control para verificar la condición de expresión del bucle, y en el bucle
for – para evaluar la expresión cambiando_expresión.
Manipulación de objetos
Cuatro operadores de JavaScript están diseñados para trabajar con objetos. Este
el nuevo operador, que crea un nuevo objeto, las declaraciones for...in y with, y la clave
la palabra esto.
El operador for…in le permite organizar un bucle a través de las propiedades de un objeto.
JavaScript. Su sintaxis es la siguiente:
para (variable_bucle en el objeto) (
[operadores]
Este bucle recorre en iteración las propiedades de un objeto. En la variable de bucle en cada
iteración, se conserva el valor de la propiedad del objeto. El número de iteraciones es
el número de propiedades que existen para el objeto especificado en el encabezado del bucle.
La declaración with especifica el objeto predeterminado para el bloque de declaraciones definido
en su cuerpo. Esto significa que todo lo que se encuentre en las declaraciones de este bloque
propiedades y métodos son las propiedades y métodos del objeto especificado.
Solicitud de este operador elimina la necesidad de especificar una jerarquía
pertenencias de objetos y reduce fuente programas.
Las declaraciones de script se ejecutan secuencialmente en el orden en que
grabado. Puede cambiar el orden de ejecución de las declaraciones en VBScript
Operadores condicionales y de bucle.
Operadores condicionales
Operadores de decisión ( declaraciones condicionales) realizar ciertos
bloques de declaraciones dependiendo de los resultados de verificar una determinada expresión
o expresiones. VBScript admite las siguientes construcciones de operadores
Toma de decisiones:
Si...entonces...si no
El constructo if...then se utiliza cuando es necesario ejecutar un grupo
operadores o un operador dependiendo del valor de la expresión,
especificado como un parámetro de condición de diseño.
Su primera forma
si condición entonces declaración
permite evaluar el operador especificado si la condición especificada es verdadera.
La segunda forma de esta construcción nos permite evaluar un grupo de operadores,
especificado en unas pocas líneas de código y tiene la siguiente sintaxis:
si condición entonces
operadores
La sintaxis más común para la construcción if...then...else es la siguiente:
si condición1 entonces
[grupo-operador-1]
[grupo-declaraciones-n]]
Primero, se verifica la condición 1. Si es falso, se verifica la condición 2. Si
y es falso, entonces la siguiente condición del grupo elseIf se marca hasta
hasta que se encuentre una condición verdadera, cuyas declaraciones se ejecuten.
Después de lo cual el control se transfiere al operador inmediatamente después
terminar si declaración.
Si no se encuentra ninguna condición verdadera, se ejecuta un grupo de declaraciones.
del bloque else, si está presente en la estructura. De lo contrario
el control se transfiere a la declaración que sigue a la declaración final si.
Puede haber tantos bloques elseIf en la construcción if...then...else como quieras, entonces
como si siempre hubiera un bloque más si se da.
Si en la construcción de toma de decisiones anterior la igualdad de uno
expresión bajo diferentes condiciones, se vuelve lo suficientemente eficaz tanto con
tanto desde el punto de vista de su implementación como desde el punto de vista de la facilidad de percepción del texto.
En este caso, deberías utilizar la construcción select case:
seleccione caso test_expression
[grupo-declaraciones-n]]
La única expresión test_expression se evalúa y secuencialmente
se compara con los valores de la lista de valores del bloque de casos. si el valor
la expresión coincide con el valor especificado en la lista de un bloque de casos,
luego se ejecuta un grupo de operadores de este bloque, y luego de ese control
se pasa a la declaración inmediatamente después de la declaración de selección final.
Si no se encuentra ningún valor coincidente de la expresión probada con
valores de listas de valores, luego se ejecuta un grupo de declaraciones en el bloque de casos
más (si está disponible).
La lista de valores de bloque de casos puede constar de uno o más
valores. Si hay varios valores, están separados por comas.
Declaraciones de bucle
Para volver a ejecutar un grupo de declaraciones de VBScript varias veces, como
cualquier otro lenguaje de programación proporciona una variedad de tipos
operadores de bucle:
Para cada… siguiente
La construcción do...loop se utiliza para ejecutar un grupo de declaraciones mientras
alguna expresión es falsa o verdadera. Tiene varias variedades,
diferenciándose en el momento de comprobar las condiciones de finalización del ciclo (antes del inicio
ejecución de un grupo de declaraciones o después) y si es verdadero o falso
El bucle do while se ejecuta hasta que la condición de terminación del bucle sea verdadera:
hacer mientras terminación_condición
grupo-operador
Antes de ejecutar las declaraciones del bucle, comprueba si la expresión es verdadera.
condición_final. Si es verdadero, entonces se ejecuta el grupo de declaraciones (en
cambia los valores de las variables incluidas en la expresión
condición_final). Después de esto, se verifica nuevamente la condición de terminación del bucle.
y, si es verdadero, se ejecuta un grupo de declaraciones en el cuerpo del bucle.
El procedimiento se ejecuta hasta que aparece la expresión condición_terminación.
se volverá falso.
El bucle do while no se ejecutará ni una sola vez si se realiza la primera comprobación.
la condición_terminación es falsa.
Otra variación del bucle do while ejecuta primero un grupo de declaraciones y
luego verifica la condición para finalizar el ciclo:
grupo-operador
bucle mientras end_condition
Este bucle definitivamente se ejecutará una vez que el grupo de declaraciones definido en
cuerpo del ciclo.
El bucle do Until es similar a la primera versión del bucle do while, excepto
excepto que se ejecuta siempre que el valor de la expresión
la condición_terminación es falsa:
hacer hasta end_condition
grupo-operador
Es posible que este bucle tampoco se ejecute ni siquiera una vez si el primero
Al comprobar la condición de terminación del bucle, resulta ser cierto.
En la segunda versión del bucle do Until, la condición para finalizar el bucle es
se verifica después de ejecutar un grupo de declaraciones y, por lo tanto,
debe ejecutarse al menos una vez:
grupo-operador
bucle hasta end_condition
En los bucles do...loop, el número de iteraciones de repetición de un grupo no se conoce de antemano
operadores, pero a veces es necesario realizar un número exacto de repeticiones
ciclo. El bucle for…next brinda esta oportunidad.
Este bucle establece una variable llamada contador de bucle, que
aumenta (o disminuye) en una cantidad específica después de la ejecución
grupos de operadores. El bucle finaliza sus iteraciones cuando el valor del contador
excederá (o será menor que) el valor especificado. La sintaxis de esta construcción.
el ciclo es el siguiente:
para contador = valor_inicial a valor_final
operadores
Al comienzo de este ciclo, a la variable contador se le asigna el valor
especificado por el parámetro start_value. Las sentencias del bucle se ejecutan y el valor
La variable del bucle aumenta o disminuye (según el signo) en
tamaño del incremento. Se hace una verificación para ver si el
menor que) nuevo valor del contador valor del parámetro valor_final. Si no,
luego se repiten las iteraciones, si es así, entonces el bucle completa su ejecución.
El parámetro de incremento de bucle for...next es opcional. Si el no lo hace
se especifica, entonces, de forma predeterminada, la variable de bucle se incrementa en 1.
La construcción for each...next le permite organizar un bucle a través de los elementos de la matriz
o por objetos de un determinado conjunto (familia) de objetos, sin saberlo de antemano
el número de elementos en una matriz o el número de objetos en un conjunto. La sintaxis para esto
los diseños son los siguientes:
para cada elemento del grupo
operadores
El parámetro de grupo especifica el nombre de una matriz o el nombre de un conjunto de objetos. Variable
elemento en cada paso del bucle contendrá una referencia a un elemento de matriz o
establecer objeto. El ciclo termina tan pronto como se completa.
iteración secuencial de todos los elementos de una matriz u objetos establecidos.
Trámites
Un procedimiento o función es una secuencia con nombre de declaraciones
que se inicializa y ejecuta mediante una simple referencia al nombre de la función.
El procedimiento se especifica mediante una declaración de función con la siguiente sintaxis:
función nombre_función ([parámetros] (
[operadores]
donde nombre_función es cualquier nombre de lenguaje JavaScript válido, los parámetros son una lista
parámetros pasados al procedimiento, cuyos elementos están separados por comas.
La declaración de función solo define un procedimiento, pero no lo ejecuta. Para
para llamar a un procedimiento simplemente indique su nombre con los valores dados entre paréntesis
parámetros.
Si no hay parámetros en un procedimiento, la presencia de paréntesis sin parámetros en
Se requiere operador de llamada de procedimiento.
Un procedimiento puede devolver algún valor que se calcula dentro de él. en esto
en este caso generalmente se le llama función, y en declaraciones que definen
la secuencia de acciones que realiza debe
estar declaración de devolución, que especifica el valor devuelto por la función.
Llamar a una función es similar a llamar a un procedimiento, pero puede ser
uso en expresiones JavaScript.
Normalmente, todas las definiciones y funciones de los procedimientos se especifican en la sección
documento. Esto asegura que todos puedan interpretarlo y retenerlo en su memoria.
procedimientos al cargar un documento en el navegador.
VBScript prevé la creación de dos tipos de procedimientos:
Subprocedimiento
Procedimiento de función (o función)
El subprocedimiento realiza una secuencia de acciones pero no regresa
ningún significado asociado con su nombre. ella tiene lo siguiente
sintaxis:
sub nombre_procedimiento ([lista-parámetros])
operadores
A través de un parámetro opcional, puede pasar datos externos al procedimiento.
o, por el contrario, obtener algunos de los valores calculados por él.
El subprocedimiento es llamado por el operador de llamada, después de lo cual
El nombre del procedimiento y los parámetros se indican entre paréntesis. El procedimiento puede ser
llamar y simplemente indicar su nombre, pero en este caso se le transmite
Los parámetros se especifican sin paréntesis. Las siguientes dos formas de llamar a un procedimiento.
son equivalentes:
llamar a MyProc (primer argumento, segundo argumento)
MyProc primer argumento, segundo argumento
La función también ejecuta una secuencia específica de declaraciones y
puede pasar datos externos a través de parámetros de procedimiento, pero, a diferencia
subprocedimiento, devuelve el valor asignado a su nombre y puede
utilizarse en expresiones VBScript. Tiene la siguiente sintaxis:
función nombre_procedimiento ([lista-parámetros])
operadores
nombre_procedimiento = valor
Las declaraciones de procedimiento deben contener el operador.
asignar algún significado al nombre de un procedimiento.
VBScript proporciona dos formas de pasar parámetros a un procedimiento:
Por valor
la dirección real de la variable utilizada como parámetro. Este
le permite cambiar el contenido de la dirección de memoria correspondiente y, por lo tanto,
y el valor de la variable.
Pasar parámetros por valor implica pasar una copia al procedimiento.
variable, no la dirección de la variable en sí. Por lo tanto, cualquier cambio en el parámetro
dentro de un procedimiento, actúan sobre una copia, no sobre la variable en sí, y,
por lo tanto, el valor de la variable pasada como parámetro es
no cambiará. Para indicar al intérprete que se está pasando un parámetro a
procedimiento por valor, se utiliza la palabra clave ByVal, especificada antes
parámetro en la descripción del procedimiento.
En el nivel más alto de la jerarquía está el objeto ventana, que representa
ventana del navegador y ser el "padre" de todos los demás objetos.
Los objetos ubicados en niveles inferiores en la jerarquía pueden tener sus propios objetos subordinados.
En la figura. La Figura 1 muestra la estructura de los objetos del cliente (navegador).
Arroz. 1. Jerarquía de objetos JavaScript en el lado del cliente
Se destaca el objeto navegador con dos hijos (subordinados).
objetos. Se refiere al propio navegador y sus propiedades permiten
Determinar las características del espectador.
Cada página, además del objeto del navegador, también debe tener
cuatro objetos:
La ventana es un objeto de nivel superior cuyas propiedades se aplican a todo.
ventana en la que se muestra el documento.
Documento – cuyas propiedades están determinadas por el contenido del propio documento:
conexiones, color de fondo, formas, etc.
Ubicación: cuyas propiedades están asociadas con la URL de lo que se muestra
documento.
Historial: representa las URL de páginas HTML cargadas previamente.
Además de los objetos especificados, la página puede tener objetos adicionales,
depende de su contenido, que son hijos del objeto
documento. Si hay un formulario en la página, entonces todos sus elementos son
objetos secundarios de esta forma. Para especificar el nombre exacto de un objeto
La notación de puntos se utiliza con una indicación completa de toda la cadena de herencia.
objeto. Esto es posible porque el objeto de nivel superior tiene la propiedad
cuyo valor es un objeto nivel inferior. Referencia de objeto
realizado por el nombre especificado por el parámetro NAME de la etiqueta HTML.
Para obtener el apellido del estudiante ingresado en el primer campo de entrada del programa
Para determinar el curso en el que estudia el estudiante, es necesario
A la cabeza de la jerarquía, como en el caso de Netscape Navigator, está el objeto
ventana, que representa la ventana del navegador y genera todos los demás objetos
especifique el objeto de ventana "principal".
El modelo cubre casi todos los elementos de una página HTML. En la figura. 2
muestra la estructura jerárquica del modelo de objetos, que refleja
subordinación de elementos de página.
Arroz. 2. modelo de objetos MSInternet Explorer
Para cada tipo de elementos del modelo, se proporcionan los conjuntos correspondientes.
Por ejemplo, para objetos de imagen definidos por etiquetas , hay un conjunto
nombre de objeto especificado por el valor del parámetro NAME, o usando el conjunto
objetos, en este caso imágenes. En un conjunto, los objetos se ubican en
la secuencia en la que se especifican en la página HTML.
Referencias
1. Matrosov A.V., Sergeev A.O, Chaunin M.P. HTML 4.0. – SPb.: BHV-
Petersburgo, 2000.
2. Kenin A.M., Pechenkina N.S. Nuevo nivel creación de documentos HTML. –
Ekaterimburgo: Libro de negocios, 1996.
3. Davis S. Lenguajes JavaScript y VBScript. – K.: Dialéctica, 1996.
4. Miklyaev A. Conceptos básicos de HTML. – M.: Solón, 1998.
5. Zubkova S.V. Documentos web interactivos. – M.: Prensa DMK, 2000.
6. Rathbon E. JavaScript para tontos. – K.: Dialéctica, 1995.
7. Stavrovsky A.B. Tutorial de VBScript. – K.: BHV, 2000.
Tipos de datos
El lenguaje VBScript utiliza un único tipo de datos: Variante, que le permite almacenar numero variable, cadena, fecha, valor booleano, referencia de objeto y otra información. Puede determinar el tipo de contenido de una variable utilizando un conjunto de funciones: VarType, TypeName, IsArray, IsDate, IsEmpty, IsNull, IsNumeric, IsObject, que se analizarán a continuación. El tipo de información contenida también se denomina subtipo variante. La lista completa de subtipos se proporciona en la siguiente tabla:
Subtipo | Descripción |
---|---|
Vacío | A la variable no se le ha asignado un valor. Cuando se utiliza una variable no inicializada en expresiones numéricas, se sustituirá 0 y, en expresiones de cadena, se sustituirá una cadena vacía. |
Nulo | La variable no contiene datos. |
Booleano | Una variable booleana puede tomar los valores Verdadero o Falso. |
Byte | Un número entero que va de 0 a 255. |
Entero | Un número entero en el rango -32.768 a 32.767. |
Divisa | Un número de punto fijo en el rango -922.337.203.685.477,5808 a 922.337.203.685.477,5807. |
Largo | Un número entero en el rango -2.147.483.648 a 2.147.483.647. |
Soltero | Número de coma flotante de precisión simple. Para valores negativos el rango aceptable es de -3.402823E38 a -1.401298E-45. Para los positivos, de 1.401298E-45 a 3.402823E38. |
Doble | Número de coma flotante de doble precisión. Para valores negativos, el rango aceptable es de 79769313486232E308 a -4.94065645841247E-324. Para los positivos: de 4.94065645841247E-324 a 1.79769313486232E308. |
Fecha (hora) | Contiene un número que representa una fecha en el rango del 1 de enero de 100 al 31 de diciembre de 9999. |
Cadena | Secuencia de personajes. La longitud máxima es de unos 2 mil millones de caracteres. |
Objeto | Objeto. |
Error | Número de error. |
Dependiendo de la expresión en la que esté involucrada la variable, su contenido se convertirá automáticamente al tipo deseado. Considere este ejemplo:
Opción Subtest explícitoVBScript Dim A, B A = 5 B = "12" Application.MessageBox A + B, "", vbOkOnly End Sub
Dado que la expresión involucra una variable numérica A, el intérprete convierte el valor de la variable B de cuerda "12" en un número y los resume:
Cambiemos la macro para que la variable A también contenía la línea:
Opción Subtest explícitoVBScript Dim A, B A = "5" B = "12" Application.MessageBox A + B, "", vbOkOnly End Sub
Ejecutémoslo. Ahora aparecerá en pantalla el resultado de la fusión (concatenación) de dos cadenas, y no la suma de sus representaciones numéricas:
Para evitar confusiones con la conversión automática de tipos, se recomienda utilizar las funciones de conversión: CBool, CByte, CCur, CDate, CDbl, CInt, CLng, CSng, CStr.
Si el resultado de la expresión debe ser una concatenación de cadenas, y no la suma de sus representaciones numéricas, entonces se debe utilizar el operador & en lugar de +.
variables
Una variable es una representación simbólica conveniente de un área de memoria donde una aplicación almacena algunos datos. Durante la ejecución de la aplicación, el valor de una variable puede cambiar. Antes de su uso, se debe declarar una variable mediante la declaración Dim.
Usando un operador, puede declarar varias variables a la vez, si enumera sus nombres separados por comas:
Atenuar izquierda, derecha, arriba, abajo
Al declarar, no es necesario especificar el tipo de datos, ya que todas las variables son de tipo Variante.
Si la opción explícita no se especifica en la primera línea del texto del script, entonces las variables se pueden usar sin declaración. Pero este camino puede conducir a errores difíciles de detectar. Basta con escribir mal el nombre de una variable en el texto del programa una vez para obtener un resultado impredecible. Le recomendamos que siempre especifique la opción explícita y declare las variables.
El nombre de la variable debe cumplir los siguientes requisitos:
- Comience con un símbolo del alfabeto latino;
- Consistir únicamente en caracteres del alfabeto latino o caracteres del alfabeto latino y números;
- No exceda los 255 caracteres de longitud;
- Ser único dentro de su alcance.
Alcance y vida útil
El alcance de una variable está determinado por el lugar donde fue declarada. Si está dentro del cuerpo de un procedimiento, dicha variable se denomina local y está disponible sólo dentro de este procedimiento. Si una variable se declara en el texto de un script, será visible para todos los procedimientos o funciones definidas en este script. Las variables locales pueden tener el mismo nombre si se declaran en procedimientos diferentes.
En el árbol del Explorador de la ventana del Editor de objetos de script hay una sección especial, Constantes y variables, para declarar variables globales visibles para todas las funciones de script del proyecto.
El intérprete asigna memoria para las variables locales en el momento en que se declaran y las libera al salir del procedimiento. Las variables globales existen desde el momento en que se declaran hasta que el script termina de ejecutarse. En relación con Gedymin, esto significa que existen variables globales durante toda la ejecución del programa.
Asignar un valor a una variable
El valor de una variable declarada se asigna mediante el operador =. El nombre de la variable se indica a la izquierda del operador, el nuevo valor se indica a la derecha. Por ejemplo:
A = 200 B = "Nombre"
Variables escalares y matrices
Una variable que contiene un solo valor se llama escalar. A veces, es necesario almacenar varios valores en una variable. En este caso, debes declarar una matriz. La sintaxis de la declaración es idéntica a la declaración de una variable escalar, con la excepción de que después del nombre entre paréntesis especificamos el tamaño de la matriz. La siguiente declaración creará una matriz de 12 elementos:
Meses oscuros(11)
En VBScript, el límite izquierdo del índice de una matriz es siempre 0. Por lo tanto, el tamaño de la matriz se calcula como el número entre paréntesis más uno. Al asignar un valor a un elemento de la matriz, especifique su índice entre paréntesis:
Meses(0) = "Enero" Meses(1) = "Febrero" Meses(2) = "Marzo" ... Meses(10) = "Noviembre" Meses(11) = "Diciembre"
De manera similar, al acceder al valor de un elemento, utilizamos su índice:
NombreMes = Meses(5)
La matriz no tiene por qué ser unidimensional. VBScript nos permite especificar hasta 60 dimensiones al declarar una matriz. Por ejemplo, la siguiente declaración creará matriz bidimensional de 12 líneas y dos columnas:
Días de mes oscuros (11, 1)
Al acceder a elementos matriz multidimensional Se deben especificar todos los índices:
DíasMes(0, 0) = "Enero" DíasMes(0, 1) = 31 DíasMes(1, 0) = "Febrero" DíasMes(1, 1) = 28 ...
Arriba declaramos matrices cuyo tamaño no cambia durante la operación del programa. Si no sabes de antemano cuántos elementos necesitarás, puedes declarar una matriz dinámica:
Antes de usarlo, debe configurar el tamaño de la matriz dinámica usando el operador ReDim:
Redim A(25)
Durante la ejecución, puede llamar al operador ReDim varias veces y cambiar el tamaño de la matriz cada vez. La opción Conservar conserva los valores de los elementos de la matriz al cambiar el tamaño. Por ejemplo, el siguiente código aumentará la matriz declarada anteriormente en cinco elementos, dejando los existentes intactos:
Reserva ReDim A(30)
Recuerda que al reducir el tamaño del array, los valores de los elementos eliminados se perderán irremediablemente. Con el operador Borrar, puede borrar los elementos de una matriz fija o liberar la memoria ocupada por una matriz dinámica.
Atenuar A Redim A(25) ... Borrar A
Constantes
Es una buena regla general declarar constantes para los valores que se utilizan repetidamente en el texto del programa. Un nombre constante asignado correctamente mejora la legibilidad y su uso simplifica el proceso de realizar cambios en el código. A diferencia de las variables, el valor de una constante no se puede cambiar durante la ejecución del programa. Se crea una constante usando el operador Const:
Const CountryName = "Bielorrusia" Const CountryCode = 375
Se pueden declarar varias constantes dentro de una declaración, separadas por comas. Al igual que una variable, una constante tiene su propio alcance dependiendo de dónde (en un procedimiento o fuera de él) y cómo (Pública o Privada) fue declarada. Las constantes creadas por el operador Const sin especificar Public o Private son públicas de forma predeterminada.
En el árbol del Explorador de la ventana del Editor de objetos de script hay una sección especial, Constantes y variables, para declarar constantes globales visibles para todas las funciones de script del proyecto.
Los valores de las constantes de cadena están entre comillas dobles.
Los valores de tipo Fecha deben estar rodeados por símbolos de almohadilla (#) y usar formato americano: mes/día/año. Por ejemplo:
Const Día de la Independencia Pública = #25/03/1918#
Para evitar confusión entre constantes y variables, se recomienda utilizar un único prefijo para todas las constantes, como "con", o escribir el nombre de la constante en mayúsculas.
Para facilitar el trabajo del programador, VBScript contiene un conjunto de constantes predefinidas.
Operadores
Los operadores de VBScript se dividen en cinco categorías: aritmética, comparación, fusión, lógica y asignación.
Operadores aritméticos
Operador | Ejemplo de uso | Descripción |
---|---|---|
^ | numero^exponente | Eleva el número al exponente. El número sólo puede ser menor que cero si es una potencia entera. Si uno de los operandos es nulo, toda la expresión es nula. Si se realizan varias exponenciaciones seguidas, el resultado se calcula de izquierda a derecha. |
* | número1 * número2 | Producto de dos números. Si el operando tiene el valor Vacío, se supone que es cero. Si al menos uno de los operandos es nulo, toda la expresión se evalúa como nula. |
/ | número1 / número2 | División real de dos números. Las reglas para los operandos son similares a las del operador de multiplicación. |
\ | número1\número2 | División entera. Antes de la evaluación, ambos operandos se convierten en Byte, Integer o Long. De lo contrario, se aplican las mismas reglas que para el operador de división. |
Modificación | número1 Mod número2 | Resto de división entera. Conversión de operandos a un número entero, así como reglas para manejar vacíos y nulos, como la división de enteros. |
+ | expresión1 + expresión2 | Si ambos operandos son números, el resultado es su suma aritmética. Si ambos operandos son cadenas, se trata de una fusión (concatenación) de dos cadenas. Si un operando es un número y el otro es una cadena, entonces el operando de cadena se convertirá en un número y se sumará al numérico. Si al menos uno de los operandos es nulo, toda la expresión se evalúa como nula. Si ambos operandos están vacíos, el resultado tiene el valor entero 0. Si solo un operador está vacío, el valor del segundo operando se devuelve como resultado. |
- | número1 – número2 o - número | En el primer caso, devuelve la diferencia de dos números. En el segundo, invierte el signo del número. Reglas para operandos con valores Nulos y Vacío, como para el operador de multiplicación. |
Operadores de comparación
Formato para usar operadores de comparación:
Resultado = expresión1 operador de comparación expresión2
donde se utilizan los siguientes operadores de comparación:< (меньше), <= (меньше или равно), >(mayor que), >= (mayor o igual que), = (igual a),<>(no iguales).
Dependiendo de los tipos y valores de los operandos, la comparación se realiza de la siguiente manera:
Si | Eso |
---|---|
Ambos operandos son números. | Se hace una comparación entre dos números. |
Ambos operandos son cadenas. | Se realiza una comparación de dos cadenas. |
Uno de los operandos es un número y el segundo es una cadena. | El operando de cadena se convierte en un número y se realiza una comparación entre los dos números. |
Uno de los operandos está vacío y el segundo es un número. | Se supone que el operando con el valor Vacío es 0. |
Uno de los operandos está vacío y el segundo es una cadena. | Se supone que el operando con el valor Vacío es la cadena vacía "". Se hace una comparación entre dos cadenas. |
Ambos operandos están vacíos. | Los operandos se consideran iguales. |
Al menos uno de los operandos es nulo. | El resultado es nulo. |
El operador Is especial se utiliza para comparar dos variables de objeto y devuelve Verdadero si ambas variables hacen referencia a la misma instancia de objeto.
Operadores de concatenación
Resultado = expresión1 y expresión2
Si el operando no es una cadena, se convierte al tipo de cadena. Si ambos operandos son nulos, entonces el resultado también toma el valor Nulo; sin embargo, a diferencia de los otros operadores, si solo un operando es nulo, entonces se toma igual a la cadena vacía. Un operando establecido en Vacío también se trata como la cadena vacía "".
Operadores lógicos
VBScript nos proporciona los siguientes operadores lógicos:
- Excepción lógica (Xor);
- Equivalente lógico (Eqv);
- Implicación lógica (Imp).
Como operandos operadores lógicos pueden ser expresiones booleanas o valores numéricos. En el primer caso, el resultado será una constante booleana, en el segundo, un número. Dependiendo del operador, uno o dos Valores nulos puede dar como resultado resultados nulos. El operador Not es unario y devuelve la negación lógica de una expresión. El operador Not realiza una inversión bit a bit en un operando numérico. Los operadores lógicos restantes son binarios. La siguiente tabla muestra los resultados de ejecutar cada uno de los operadores dependiendo del valor de los operandos Exp1 y Exp2:
Exp1 | Exp2 | Y | O | Xor | Eqv | Diablillo |
---|---|---|---|---|---|---|
Verdadero | Verdadero | Verdadero | Verdadero | FALSO | Verdadero | Verdadero |
Verdadero | FALSO | FALSO | Verdadero | Verdadero | FALSO | FALSO |
FALSO | Verdadero | FALSO | Verdadero | Verdadero | FALSO | Verdadero |
FALSO | FALSO | FALSO | FALSO | FALSO | Verdadero | Verdadero |
Verdadero | Nulo | Nulo | Verdadero | Nulo | Nulo | Nulo |
FALSO | Nulo | FALSO | Nulo | Nulo | Nulo | Verdadero |
Nulo | Verdadero | Nulo | Verdadero | Nulo | Nulo | Verdadero |
Nulo | FALSO | FALSO | Nulo | Nulo | Nulo | Nulo |
Nulo | Nulo | Nulo | Nulo | Nulo | Nulo | Nulo |
En la vida, los operadores And y Or se utilizan con mayor frecuencia, y mucho menos Xor. En la práctica no hemos encontrado el uso de los operadores Eqv e Imp. Si le resulta difícil entender la tabla anterior, resumamos la acción de estos operadores:
- Y se evalúa como Verdadero solo si ambos operandos son Verdaderos. En cualquier otro caso, es Falso o Nulo.
- O se evalúa como Verdadero si al menos uno de los operandos es Verdadero.
- Xor se evalúa como Verdadero si los operandos son diferentes y Falso si son iguales.
Cuando se ejecuta bit a bit en operandos numéricos, el resultado de un operador lógico está determinado por la siguiente tabla:
Exp1 | Exp2 | Y | O | Xor | Eqv | Diablillo |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 | 0 | 1 | 1 |
Operador de asignación
El operador de asignación (=) se describe en detalle en la sección Variables.
El orden de aplicación de los operadores.
Si una expresión contiene varios operadores, se aplican de acuerdo con de acuerdo con el procedimiento establecido, que se llama precedencia de operadores. Puede cambiar el orden predeterminado usando paréntesis. La expresión dentro del paréntesis siempre se evalúa primero.
En una expresión que contiene operadores de diferentes categorías, primero se realizan operaciones aritméticas, luego se realizan operadores de comparación y, por último, se realizan operadores lógicos. Todos los operadores de comparación tienen la misma prioridad y se evalúan de izquierda a derecha. Los operadores aritméticos y lógicos se evalúan en el siguiente orden:
- Exponenciación (^);
- Cambiar el signo de un número, menos unario (-);
- Multiplicación (*) y división (/);
- División entera (\);
- Resto de división entera (Mod);
- Suma (+) y resta (-);
- Concatenación de cadenas (&).
Si la multiplicación y la división ocurren en la misma expresión, entonces las operaciones se realizan en orden de izquierda a derecha. Se aplica una regla similar en el caso de la presencia simultánea de operadores de suma y resta.
El operador de concatenación de cadenas (&) no es aritmético y tiene prioridad entre los operadores aritméticos y de comparación.
El orden de prioridad de los operadores lógicos es el siguiente:
- Negación lógica, inversión (No);
- Multiplicación lógica, conjunción (Y);
- Suma lógica, disyunción (O);
- Excepción lógica (Xor);
- Equivalente lógico (Eqv);
- Implicación lógica (Imp).
Expresiones condicionales
Las expresiones condicionales se utilizan para controlar el orden de ejecución de los comandos del programa y le permiten organizar transiciones (ramificaciones) y repetición de comandos. Normalmente, los operadores de comparación se utilizan junto con expresiones condicionales.
Si... Entonces... Si no expresión
La expresión de salto condicional If le permite ejecutar un grupo particular de comandos dependiendo del resultado de una expresión lógica o del valor de una variable booleana.
Para ejecutar un solo comando cuando se cumple una condición determinada, utilice la sintaxis de expresión de una línea:
Dim S If DatePart("w", Now) = vbMonday Then S = "Monday" Application.MessageBox S, "", vbOkOnly
Tenga en cuenta que la sección Else se omite en este caso. Para ejecutar un grupo de declaraciones, debe incluirlas entre las palabras clave Then y End If.
Dim S If DatePart("w", Now) = vbMonday Then S = "Hoy es lunes" Application.MessageBox S, "", vbOkOnly End If
Si, cuando se cumple una condición, es necesario ejecutar un código, y cuando no se cumple una condición, se requiere otro código, entonces se utiliza la sintaxis de expresión con una sección Else:
Dim S If DatePart("w", Now) = vbMonday Then S = "Hoy es lunes" Else S = "Hoy no es lunes" End If Application.MessageBox S, "", vbOkOnly
Si necesita elegir entre varias alternativas, la sintaxis con la construcción ElseIf es adecuada:
Dim S, D D = DatePart("w", Now) If D = vbMonday Then S = "Monday" ElseIf D = vbTuesday Then S = "Tuesday" ElseIf D = vbWednesday Then S = "Wednesday" ... Finalizar si la aplicación. Cuadro de mensaje S, "", vbOkOnly
Si las declaraciones se pueden anidar:
Dim S, D D = DatePart("w", Now) Si D = vbMonday Entonces S = "Lunes" De lo contrario Si D = vbTuesday Entonces S = "Martes" De lo contrario Si D = vbWednesday Entonces S = "Miércoles" De lo contrario... Fin Si finaliza si finaliza si
Aunque no hay límite para el número de cláusulas ElseIf en una expresión condicional, su uso extensivo puede generar código confuso e ilegible. En caso de seleccionar una alternativa entre muchas posibles dependiendo del valor de un selector, se recomienda utilizar la expresión Select Case.
Seleccione...Expresión de caso
Reescribamos el ejemplo de los días de la semana usando una expresión de selección:
Dim S Seleccione Case DatePart("w", Now) Case vbMonday S = "Monday" Case vbTuesday S = "Tuesday" Case vbWednesday S = "Wednesday" ... Case Else Err.Raise 32000, "", "Día desconocido de semana " Fin Seleccionar
Dado que la expresión del selector se evalúa solo una vez, el uso de Select..Case da como resultado un código más eficiente. Se recomienda utilizar siempre la sección Caso más para detectar valores de selector sin formato o no válidos.
Declaraciones de bucle
Muy a menudo surge una situación en la que es necesario volver a ejecutar el código. Para hacer esto, escriba una declaración de bucle que repita ciertos comandos una y otra vez. Las declaraciones de bucle se utilizan en muchas situaciones: al calcular un total sobre una lista de números, al moverse por los registros de un conjunto de datos o para ejecutar un bloque de código en varios objetos. Hay varios ciclos, que se describen en las siguientes secciones. Algunos de ellos se ejecutan mientras la condición es Verdadera, otros se ejecutan mientras la condición es Falsa. Y por último, están aquellos que se ejecutan un número determinado de veces.
Operador Do..Loop
Este operador está diseñado para ejecutar un grupo de comandos hasta que una condición determinada sea Verdadera o hasta que se convierta en Verdadera. La condición se puede verificar como al comienzo del ciclo:
Hacer [(Mientras | Hasta) condición] Bucle
y así al final:
Hacer bucle [(Mientras | Hasta) condición]
El comando Exit Do puede aparecer un número ilimitado de veces en el cuerpo de un bucle. Generalmente se utiliza junto con expresión condicional If...Then y le permite transferir el control a la declaración inmediatamente después del ciclo. Cuando se utiliza Exit Do dentro de un bucle anidado, el control pasará al bucle exterior.
El siguiente código te permite reemplazar los dados:
Dim Resp, Num Do Num = Int(6 * Rnd + 1) Resp = Application.MessageBox(Num & "¿Otro número?", "",_ vbYesNo o vbQuestion) Bucle hasta Resp = vbNo
Mientras..Wend
Es una versión truncada del operador Do..Loop y le permite ejecutar un grupo de comandos siempre que la condición sea Verdadera. Sintaxis del operador:
Mientras condición Wend
Tenga en cuenta que Exit Do no tiene ningún efecto dentro de este bucle. Los bucles While...Wend se pueden anidar.
Para...Siguiente
Este bucle repite un conjunto determinado de comandos un número específico de veces. La sintaxis del operador es:
Para contador = inicio Para finalizar Siguiente
Antes de que comience el ciclo, a la variable del contador se le asigna el valor de inicio. A continuación, se comprueba la condición del contador.<= end, при step >= 0, o contador >= final, con un paso negativo. Después de ejecutar un bloque de comandos, la variable contador aumenta en el valor de paso y todo se repite desde el principio.
No está prohibido cambiar el contador en el cuerpo de un bucle, pero se desaconseja encarecidamente, ya que dificulta la comprensión de la lógica del programa y su depuración.
Salir para puede aparecer en el cuerpo de un bucle cualquier número de veces. Los bucles se pueden anidar. Por ejemplo, este bucle inicializa una matriz tridimensional:
Dim A(9, 9, 9) Dim I, J, K Para I = 0 a 9 Para J = 0 a 9 Para K = 0 a 9 A(I, J, K) = 1 Siguiente Siguiente Siguiente
Para cada uno...Siguiente
Operador Para bucle Cada... Siguiente repite el conjunto de comandos especificado para cada elemento de la matriz o colección y tiene la siguiente sintaxis:
Para cada elemento del grupo Siguiente
El bucle se ejecuta si hay al menos un elemento en la matriz o colección. Salir para puede aparecer en el cuerpo del bucle un número arbitrario de veces.
Ilustremos usando para Cada uno... A continuación, utilice el siguiente código como ejemplo, que muestra una lista de archivos del directorio raíz de la unidad c:\
Dim fso, f, f1, fc, s Establecer fso = CreateObject("Scripting.FileSystemObject") Establecer f = fso.GetFolder("c:\") Establecer fc = f.Files para cada f1 en fc s = s & f1 .name y vbNewLine Siguiente aplicación.MessageBox s, "Archivos en c:\", vbOkOnly
Trámites
Para ahorrar memoria y estructurar el programa, un fragmento de código llamado repetidamente en diferentes lugares, puede formalizarse como trámite. Hay dos tipos de procedimientos en VBScript: subrutinas (Sub) y funciones (Function). Una subrutina es una secuencia de declaraciones rodeadas por las palabras clave Sub y End Sub. La subrutina puede aceptar parámetros como entrada, pero no devuelve valores. Una función, una secuencia de declaraciones entre una función y una función final, devuelve un resultado y, por lo tanto, puede usarse en una expresión. Cada procedimiento debe tener un nombre que sea único dentro del módulo. Los nombres de los procedimientos declarados en un módulo global deben ser únicos dentro de todo el proyecto.
La definición de subrutina y función tiene la siguiente sintaxis:
| Privado] Subnombre [(arglist)] Fin Sub | Privado] Nombre de la función [(arglist)] Función final
Los procedimientos públicos son globales y están disponibles en todos los guiones del programa. Los trámites privados sólo están disponibles en el script donde fueron declarados. Salvo que se especifique lo contrario, el procedimiento declarado es público. La palabra clave Default sólo se puede utilizar en el cuerpo de una clase y sirve para especificar el método predeterminado de esta clase.
La lista de parámetros tiene la siguiente sintaxis:
Nombre de usuario [, ...]
Los parámetros se pueden pasar por valor (ByVal) o por referencia (ByRef). De forma predeterminada, todos los parámetros se pasan por valor. Las constantes, los resultados de la evaluación de expresiones, sólo se pueden pasar por valor. Cambiar el parámetro pasado por referencia cambiará el valor de la variable externa. Expliquemos el paso de parámetros dentro de un procedimiento usando el siguiente ejemplo:
Sub DoCalculation(ByRef A, ByVal B, ByVal C) A = C * 2 B = C / 2 End Sub Sub TestVar Dim V1, V2 V1 = 1 V2 = 2 DoCalculation V1, V2, 10 " Después de realizar el procedimiento DoCalculation " V1 = 20" V2 = 2 sub finales
Las variables declaradas dentro del cuerpo de un procedimiento son locales y se destruyen al finalizar su ejecución. Los valores de las variables locales no se guardan.
La lista de parámetros se especifica entre paréntesis cuando se llama a una función o cuando se llama a una subrutina mediante la instrucción Call. Entonces, podríamos escribir la llamada al procedimiento DoCalculation en el ejemplo anterior de la siguiente manera:
Llamar a DoCalculation(V1, V2, 10)
Ejecutar expresión
Clases de VBScript
VBScript le permite crear nuevas clases, que en adelante llamaremos clases VB. En general, no son clases completas en el sentido de la programación orientada a objetos, ya que no admiten herencia y, en consecuencia, polimorfismo. Entonces, de los tres pilares en los que se basa el paradigma orientado a objetos, solo queda la encapsulación: la capacidad de combinar datos y métodos dentro de una entidad.
Una clase se define utilizando la siguiente construcción:
Declaraciones de nombre de clase Fin de clase
donde nombre es el nombre de la clase y las declaraciones son una o más definiciones de variables, propiedades, procedimientos o funciones, también llamadas miembros de la clase. Tenga en cuenta que, a diferencia de Delphi, donde el código de definición de clase contiene solo declaraciones de procedimientos y funciones, en una clase VB el código miembro se escribe directamente en el texto de la clase.
Los miembros de una clase pueden ser declarados Privados o Públicos. Los primeros son visibles sólo dentro del código de una clase determinada, mientras que los segundos están disponibles tanto para el código interno como externo. Si una variable o función (procedimiento) no contiene una definición explícita de Público o Privado, entonces se considera pública. Los procedimientos o funciones declarados como Públicos dentro de un bloque de clase se convierten en métodos de esa clase.
Las variables declaradas como públicas se convierten en propiedades de la clase junto con las propiedades declaradas directamente mediante las construcciones Property Get, Property Let y Property Set.
Definición de propiedades de clase
Ya dijimos anteriormente que los campos de una clase, declarados explícita o implícitamente como Públicos, pasan a ser sus propiedades. Además, puede crear una propiedad de clase definiendo funciones especiales leer el valor de una propiedad (Property Get), así como asignarlo (Property Let o Property Set).
La sintaxis para definir dichas funciones es la siguiente:
| Privado] Propiedad Obtener nombre [(arglist)] [nombre = expresión] [nombre = expresión] Fin de propiedad Propiedad Let nombre (valor) Fin de propiedad Propiedad Establecer nombre (referencia) Fin de propiedad
Al definir solo una función, leer o asignar, puede crear una propiedad que sea de solo lectura o de solo escritura, respectivamente. El procedimiento Property Let se utiliza para asignar tipos de datos simples y el procedimiento Property Set se utiliza para pasar una referencia a un objeto. Tenga en cuenta que las tres funciones pueden tomar una lista arbitraria de parámetros como entrada. De esta forma, puedes organizar, por ejemplo, las propiedades de una matriz pasando el índice del elemento como argumento.
Crear y destruir una instancia de una clase VB
La creación de una instancia de una clase VB se realiza mediante el operador Nuevo.
Dim X Set X = Nuevo nombre de clase
La destrucción de una instancia creada previamente se produce automáticamente al completarse el bloque de código donde se declaró la variable correspondiente y siempre que no existan referencias externas a la misma. Si necesita destruir la instancia manualmente, debe asignar el valor Nothing a la variable.
' declarando una variable y creando una instancia de la clase Dim X Set X = Nuevo nombre de clase... ' usando la instancia de clase... ' destruyendo la instancia de clase Set X = Notning...
Inicializar y finalizar eventos
El evento Inicializar ocurre cuando se crea una instancia de una clase y el evento Terminar ocurre cuando se destruye. El desarrollador puede definir sus propios controladores de datos de eventos. A continuación se muestra un ejemplo del uso de eventos de creación y eliminación de objetos:
Class TestClass " Definición del controlador de eventos Inicializar. Private Sub Class_Initialize MsgBox("TestClass comenzó") End Sub " Definición del controlador de eventos Terminar.
Private Sub Class_Terminate MsgBox("TestClass terminado") End Sub End Class " Creando una instancia de la clase TestClass. " Se mostrará el mensaje "TestClass iniciado" Set X = New TestClass " Destruyendo la instancia. " El mensaje "TestClass terminado" Se mostrará el conjunto X = Nada
El subprocedimiento realiza una serie de acciones pero no devuelve ningún valor asociado a su nombre. Tiene la siguiente sintaxis:
operadores
sub nombre_procedimiento ([lista-parámetros])
A través de un parámetro opcional, se pueden pasar datos externos al procedimiento o, por el contrario, recibir algunos valores calculados por el mismo.
El subprocedimiento se llama mediante la declaración de llamada, seguida del nombre del procedimiento y los parámetros entre paréntesis. También se puede llamar a un procedimiento simplemente especificando su nombre, pero en este caso los parámetros que se le pasan se especifican sin paréntesis. Las dos formas siguientes de llamar a un procedimiento son equivalentes:
llamar a MyProc (primer argumento, segundo argumento)
MyProc primer argumento, segundo argumento
Una función también ejecuta una secuencia específica de declaraciones y se le pueden pasar datos externos a través de parámetros de procedimiento, pero a diferencia de un subprocedimiento, devuelve un valor asignado a su nombre y se puede usar en expresiones VBScript. Tiene la siguiente sintaxis:
operadores
función nombre_procedimiento ([lista-parámetros])
nombre_procedimiento = valor
VBScript proporciona dos formas de pasar parámetros a un procedimiento:
Por valor
El método predeterminado para pasar parámetros por referencia pasa la dirección real de la variable utilizada como parámetro. Esto le permite cambiar el contenido de la dirección de memoria correspondiente y, por tanto, el valor de la variable.
Pasar parámetros por valor implica pasar una copia de la variable al procedimiento, en lugar de la dirección de la variable misma. Por lo tanto, cualquier cambio en un parámetro dentro de un procedimiento afecta la copia y no la variable en sí y, por lo tanto, el valor de la variable pasada como parámetro no cambiará. Para indicar al intérprete que un parámetro se pasa a un procedimiento por valor, se utiliza la palabra clave ByVal, especificada antes del parámetro en la descripción del procedimiento.
6 objetos
6.1 JavaScript
En el nivel más alto de la jerarquía está el objeto ventana, que representa la ventana del navegador y es el "padre" de todos los demás objetos. Los objetos ubicados en niveles inferiores en la jerarquía pueden tener sus propios objetos subordinados.
Se destaca el objeto navegador con dos objetos secundarios (subordinados). Se refiere al propio navegador y sus propiedades permiten determinar las características del navegador.
Cada página, además del objeto navegador, debe tener cuatro objetos más:
ventana es un objeto de nivel superior cuyas propiedades se aplican a toda la ventana en la que se muestra el documento.
documento: cuyas propiedades están determinadas por el contenido del propio documento: conexiones, color de fondo, formas, etc.
ubicación: cuyas propiedades están asociadas con la URL del documento que se muestra.
historial: representa las URL de páginas HTML cargadas previamente.
Además de los objetos especificados, una página puede tener objetos adicionales según su contenido, que son objetos secundarios del objeto del documento. Si un formulario se encuentra en una página, todos sus elementos son objetos secundarios de este formulario. Para especificar el nombre exacto de un objeto, se utiliza la notación de puntos con una indicación completa de toda la cadena de herencia del objeto. Esto es posible porque el objeto de nivel superior tiene una propiedad cuyo valor es el objeto de nivel inferior. Se hace referencia al objeto mediante el nombre especificado por el parámetro NAME de la etiqueta HTML.