VBScript y JScript (Cactus Studio · CPCW) en la página ASP
ASP tiene la capacidad de administrar diferentes programas de script de idioma. El entorno de desarrollo ASP proporciona dos motores de scripts, a saber, VBScript y JScript. Sin embargo, los desarrolladores no se limitan a solo dos idiomas, siempre que puedan proporcionar un motor de script ActiveX adecuado, pueden usar cualquier lenguaje de script.
La elección del lenguaje de script a menudo se basa en muchas razones diferentes: puede ser el lenguaje más familiar de los desarrolladores, puede proporcionar el apoyo más característico para un proyecto determinado, o puede ser el más eficiente. Los diferentes entornos y requisitos nos hacen prestar atención a los diferentes factores al elegir un lenguaje de script. lenguaje de guión.
¿Qué debo hacer en este momento? ¿Necesito reescribir estos scripts con el lenguaje de script actual? En otras palabras, ¿es posible llamar a la función construida de otro lenguaje de script en un lenguaje de script? Este artículo explica cómo permitir que el script VBScript y el script JScript interactúen en aplicaciones ASP para maximizar las características del lenguaje de dos script.
1. Las funciones construidas de VBScript y JScript
En VBScript y JScript, una gran cantidad de funciones de funciones construidas son las mismas o similares. Sin embargo, la función construida en un lenguaje de script no siempre es una función correspondiente en otro lenguaje de script. Por ejemplo, VBScript proporciona muchas funciones para operar datos y formatear datos, que no existen en JScript. Estas funciones incluyen Strreverse (), Filter () y FormatCurrency (). Por otro lado, las funciones proporcionadas por JScript para administrar la matriz, la codificación de cadenas, etc. no se definen en VBScript, como Join (), Reverse (), POW (), BIT Operations, Escape () y Unescape () esperar.
Entonces, ¿qué pasa si necesita una función VBScript en el programa JScript?
2. Llamadas mutuas de guiones heterogéneos
Si necesita llamar a una función Built -in en un script VBScript en el script JScript, debe escribir una función de definición de usuario de VBScript (dónde llamar a la función VBScript Built -in aquí) y luego llamar a esta función de definición del usuario como el público Función jscript en el script jscript.
Por ejemplo, si la función VBScript Built -in a llamar es FormatCurrency (), puede declarar la siguiente función personalizada:
<Script Language = VBScript runat = Server>
FormatValue de formato de función (valor)
FormatValue = FormatCurrency (valor)
función final
</script>
A continuación, puede llamar a FormatValue () como una función JScript ordinaria en el código JScript. También se pueden usar métodos similares para llamar a la función JScript del código VBScript.
Aplicar la misma regla, podemos llamar a cualquier función de definición del usuario en cualquier script. Sin embargo, al llamar a un proceso VBScript (sub) sin parámetros (sub) desde el script JScript. .
Tercero, intercambio de datos
En ciertas circunstancias, mezclar el uso de funciones VBScript y JScript es muy útil, pero compartir datos entre diferentes scripts de lenguaje también puede ser útil. El método para implementar este intercambio es muy simple: no importa qué lenguaje se use, siempre que las variables en la declaración de nivel de página puedan referenciar arbitrariamente.
El método del objeto también es similar, y puede usar la lectura del idioma apropiado, modificar el método del atributo o llamar al objeto. Por supuesto, los atributos y métodos del objeto dado están definidos por el lenguaje de crear una instancia del objeto. Así como el proceso llama al proceso VBScript anterior, cuando se llama a un método de llamar a un objeto VBScript con un parámetro sin parámetros desde JScript, el método de llamada también sigue las reglas de llamada de JScript y viceversa.
Cuarto, gestión de matrices
El problema de intercambio de matrices es un poco más complicado. Aunque la matriz se puede compartir entre diferentes scripts de lenguaje como otras variables, debemos prestar atención a problemas compatibles.
La matriz VBScript se puede hacer referencia con un símbolo de VBScript en JScript, es decir, el elemento de matriz de los elementos de matriz en lugar del símbolo de referencia de los elementos de matriz de JScript MyArray [2] Además, puede usar un objeto JScript especial: el objeto VBarray para convertir la matriz VBScript en la matriz JScript. El siguiente código crea la matriz JScript myJSArray desde la matriz VBScript myVBArray:
VAR test = new VBArray (myVBArray)
var myjsarray
myjsArray = temp.toarray ()
El código anterior primero crea un objeto VBArray temporal y luego usa su método ToArray () para convertirse en la matriz JScript. Desde entonces, puedo usar MyJSArray como una matriz de Jscript ordinaria, como MyJSArray [1]. Sin embargo, debe tenerse en cuenta que el método ToArray () convertirá una VBARAY multimensional en una matriz JScript de una dimensión.
La matriz JScript es más complicada de VBScript. Aunque podemos acceder directamente a los métodos y atributos de la matriz JScript en VBScript, no hay un método para acceder directamente al elemento único de la matriz JScript. En otras palabras, podemos leer el atributo de longitud de la matriz JScript en el script VBScript, como se muestra a continuación:
x = myjsArray.length
Pero es imposible leer el elemento único de la matriz directamente.
x = myjsArray (3)
Un método factible para resolver este problema es realizar un proceso de conversión.
< %
Temperatura oscura
Dim myvbarray
temp = myjsArray.Join (,)
MyVBarray = Split (temp ,,)
%>
El método JScript unión () aquí convierte el elemento MyJSArray de matriz en una cadena con una coma como división, y la función VBScript Split () convierte la cadena en la matriz VBScript. Tenga en cuenta que aquí somos el método de unión para llamar a JScript en el entorno VBScript. De acuerdo con este ejemplo, podemos simular el método ToArray () del objeto VBarray de JScript por la función VBScript personalizada para implementar la conversión de la matriz JScript a la matriz VBScript.
Cinco, resumen
La selección flexible de diferentes lenguajes de secuencias de comandos en el mismo proyecto ASP tiene muchas ventajas. para bibliotecas de script VBScript o universales que se pueden usar en el entorno JScript.