VBScript und Jscript (Cactus Studio · CPCW) auf der ASP -Seite
ASP kann verschiedene Sprachkriptprogramme verwalten. Die ASP -Entwicklungsumgebung bietet zwei Skripte -Engines, nämlich VBScript und JScript. Entwickler sind jedoch nicht nur auf zwei Sprachen beschränkt, solange sie eine geeignete ActiveX -Skript -Engine bereitstellen können, können sie jede Skriptsprache verwenden.
Die Wahl der Skriptsprache basiert häufig auf vielen verschiedenen Gründen: Sie kann die bekannteste Sprache von Entwicklern sein, es kann die charakteristischste Unterstützung für ein bestimmtes Projekt leisten oder die effizienteste sein. Verschiedene Umgebungen und Anforderungen lassen uns bei der Auswahl einer Skriptsprache auf unterschiedliche Faktoren beachten Skriptsprache.
Was soll ich zu diesem Zeitpunkt tun? Muss ich diese Skripte mit der aktuellen Skriptsprache neu schreiben? Mit anderen Worten, ist es möglich, die erstellte Funktion anderer Skriptsprache in einer Skriptsprache aufzurufen? In diesem Artikel wird erläutert, wie das VBScript -Skript und das Jscript -Skript in ASP -Anwendungen interagieren, um die Eigenschaften der beiden Skriptsprache zu maximieren.
1. Die erstellten Funktionen von VBScript und Jscript
In VBScript und Jscript sind eine große Anzahl von Funktionen für die erstellten Funktionsfunktionen gleich oder ähnlich. Die erstellte Funktion in einer Skriptsprache ist jedoch nicht immer eine entsprechende Funktion in einer anderen Skriptsprache. Beispielsweise bietet VBScript viele Funktionen für den Betrieb von String und Formatierung von Daten, die in JScript nicht vorhanden sind. Diese Funktionen umfassen Strreverse (), filter () und formatcurrency (). Andererseits werden die von JScript für das Verwalten von Array, String -Codierung usw. bereitgestellten Funktionen in VBScript nicht definiert, wie z. Warten.
Was ist also, wenn Sie im JScript -Programm eine VBScript -Funktion benötigen?
2. gegenseitige Aufrufe heterogener Skripte
Wenn Sie eine erstellte Funktion in einem VBScript -Skript im Jscript -Skript aufrufen müssen, sollten Sie eine Funktion des VBScript -Benutzerdefinitions (wo Sie die Funktion VBScript -erstellte Funktion hier aufrufen) schreiben und diese Benutzerdefinitionsfunktion wie die Öffentlichkeit aufrufen Jscript -Funktion im Jscript -Skript.
Wenn beispielsweise die aufgerufene VBScript -Funktionsfunktion formatcurrency () ist, können Sie die folgende benutzerdefinierte Funktion deklarieren:
<script Language = vbScript runat = server>
FunktionsformatValue (Wert)
FormatValue = formatcurrency (Wert)
Endfunktion
< /script>
Als nächstes können Sie formatValue () wie eine gewöhnliche Jscript -Funktion im Jscript -Code aufrufen. Ähnliche Methoden können auch verwendet werden, um die Jscript -Funktion des VBScript -Codes aufzurufen.
Wenden Sie dieselbe Regel an, wir können jede Benutzerdefinitionsfunktion in jedem Skript aufrufen. Wenn Sie jedoch einen VBScript -Prozess (SUB) ohne Parameter (Sub) aus dem Jscript -Skript aufrufen. .
Drittens Datenaustausch
Unter bestimmten Umständen ist das Mischen der Verwendung von VBScript- und Jscript -Funktionen sehr nützlich, aber das Teilen von Daten zwischen verschiedenen Sprachskripten kann ebenfalls nützlich sein. Die Methode zur Implementierung dieser Freigabe ist sehr einfach: Unabhängig davon, welche Sprache verwendet wird, können die Variablen auf der Seite der Seite -Level -Anweisung willkürlich verwiesen werden.
Die Methode des Objekts ist ebenfalls ähnlich, und Sie können den entsprechenden Sprachlesen verwenden, die Methode des Attributs ändern oder das Objekt aufrufen. Natürlich werden die Attribute und Methoden des angegebenen Objekts durch die Sprache des Erstellens einer Instanz des Objekts definiert. So wie die Prozessaufrufe des VBScript -Prozesses oben, wenn eine Methode zum Aufrufen eines VBScript -Objekts mit einem Parameter ohne Parameter von JScript aufgerufen wird, folgt die Aufrufmethode auch den Aufrufregeln von Jscript und umgekehrt.
Viertens Array Management
Das Array -Sharing -Problem ist etwas komplizierter. Obwohl das Array wie andere Variablen zwischen verschiedenen Sprachskripten geteilt werden kann, müssen wir auf kompatible Probleme achten.
Auf das VBScript -Array kann mit einem Symbol von VBScript unter Jscript, dh dem Array -Element der Array -Elemente anstelle von Jscripts Array -Elementen -Referenzsymbol Myarray [2], referenziert werden. Zusätzlich können Sie ein spezielles JScript -Objekt verwenden -das VBARRAY -Objekt, um das VBScript -Array in das Jscript -Array umzuwandeln. Der folgende Code erstellt das Jscript -Array myjsArray aus dem VBScript -Array myvBarray:
var test = neuer vbarray (myvbarray)
var myjsarray
myjsarray = temp.toarray ()
Der obige Code erstellt zuerst ein temporäres VBARRAY -Objekt und verwenden dann seine Methode toArray (), um sich in das Jscript -Array umzuwandeln. Seitdem kann ich MyJsArray wie ein gewöhnliches Jscript -Array wie MyJsArray [1] verwenden. Es ist jedoch zu beachten, dass die Methode toArray () ein multi -dimensionales VBARAY in ein -dimensionales Jscript -Array umwandelt.
Das Jscript -Array ist aus VBScript komplizierter. Obwohl wir direkt auf die Methoden und Attribute des Jscript -Arrays in VBScript zugreifen können, gibt es keine Methode, um direkt auf das einzelne Element des JScript -Arrays zuzugreifen. Mit anderen Worten können wir das Längenattribut des Jscript -Arrays im VBScript -Skript lesen, wie unten gezeigt:
x = myjsarray.length
Es ist jedoch unmöglich, das einzelne Element des Arrays direkt zu lesen.
x = myjsarray (3)
Eine mögliche Methode zur Lösung dieses Problems besteht darin, einen Konvertierungsprozess durchzuführen.
< %
Dim Temp
Dim Myvbarray
temp = myjsarray.join (,)
Myvbarray = split (temp ,,)
%>
Die Methode jscript join () umwandelt hier das Array myjsArray -Element in eine Zeichenfolge mit einem Komma als Teilung, und die Funktion vbscript split () umwandelt die Zeichenfolge in das VBScript -Array. Beachten Sie, dass wir hier die Join -Methode zum Aufrufen von Jscript unter der VBScript -Umgebung sind. Nach diesem Beispiel können wir die Methode für die toArray () des VBARRAY -Objekts von JScript durch benutzerdefinierte VBScript -Funktion simulieren, um die Konvertierung aus dem Jscript -Array zum VBScript -Array zu implementieren.
Fünf, Zusammenfassung
Die flexible Auswahl verschiedener Skriptsprachen im selben ASP -Projekt hat viele Vorteile. Für VBScript- oder universelle Skriptbibliotheken, die in der jscript -Umgebung verwendet werden können.