Como posso usar classes OO Javascript do VBScript, em um ambiente ASP-Classic ou WSH?

eu seiPosso chamar funções de nível superior definidas no JS do VBScripte vice-versa, assim:

<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>

Eu também posso incluir JS em módulos VBScript, assim:

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

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

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

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

... e as funções definidas no includedModule.js estão disponíveis no VBScript.

Mas suponha que eu tenha uma classe Javascript definida usando prototypal OO, assim:

<code>(function() {

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

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

Como posso usar esse objeto (também conhecido como tipo ou classe) do VBScript?

A abordagem da baunilha ...

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

...não funciona.

Nem

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

... porque aparentementethis não é definido quando a função JS é invocada a partir do VBScript. Ou alguma coisa.

Então, como posso fazer isso?

A razão pela qual isso é valioso: existem bibliotecas OO disponíveis em Javascript, o que seria interessante usar a partir do VBScript.

questionAnswers(1)

yourAnswerToTheQuestion