Wie kann ich Javascript OO-Klassen aus VBScript in einer ASP-Classic- oder WSH-Umgebung verwenden?

Ich kenneIch kann in JS definierte Funktionen der obersten Ebene aus VBScript aufrufenund umgekehrt so:

<code><%@ language="Chakra" %>

<script language='JavaScript' runat='server'>
  function jsFunction1() {
      for (var i=0;i<10;i++) Response.Write(i+"<br>");
      vbFunction2();
  }
</script>

<script language='VBScript' runat='server'>
  Sub vbFunction1 ()
      Response.Write("VB Hello <br/>" & VbCrLf)
      jsFunction1()
  End Sub
  Sub vbFunction2 ()
      Response.Write("VB Goodbye <br/>" & VbCrLf)
  End Sub
</script>


<script language="JavaScript" runat="server">
  vbFunction1();
</script>
</code>

Ich kann JS auch wie folgt in VBScript-Module einbinden:

<code><%@ language="VBScript" %>

<script language="Javascript" runat="server" src="includedModule.js"></script>

<script language="VBScript" runat="server">

    ....
</script>
</code>

... und die in includedModule.js definierten Funktionen sind im VBScript verfügbar.

Angenommen, ich habe eine Javascript-Klasse definiert, die prototypische OO verwendet, wie folgt:

<code>(function() {

  MyObj = function() {
    this.foo = ...
    ...
  };

  MyObj.prototype.method1 = function() { .. };
  MyObj.prototype.method2 = function() { .. };
}());
</code>

Wie kann ich dieses Objekt (auch als Typ oder Klasse bezeichnet) aus VBScript verwenden?

Der Vanille-Ansatz ...

<code>Dim foo
Set foo = New MyObj
</code>

...funktioniert nicht.

Auch nicht

<code>Dim foo
foo = MyObj()
</code>

... weil anscheinendthis ist nicht definiert, wenn die JS-Funktion von VBScript aus aufgerufen wird. Oder so.

Wie kann ich das machen?

Der Grund dafür ist wertvoll: Es gibt OO-Bibliotheken in Javascript, deren Verwendung mit VBScript interessant wäre.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage