如何在 ASP-Classic 或 WSH 环境中使用 VBScript 中的 Javascript OO 类
How can I use Javascript OO classes from VBScript, in an ASP-Classic or WSH environment?
我知道我可以从VBScript调用JS中定义的顶级函数,反之亦然,如下所示:
<%@ 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>
我还可以将JS包含在VBScript模块中,如下所示:
<%@ language="VBScript" %>
<script language="Javascript" runat="server" src="includedModule.js"></script>
<script language="VBScript" runat="server">
....
</script>
。在 includeModule 中定义的函数.js在 VBScript 中可用。
但是假设我有一个使用原型OO定义的Javascript类,如下所示:
(function() {
MyObj = function() {
this.foo = ...
...
};
MyObj.prototype.method1 = function() { .. };
MyObj.prototype.method2 = function() { .. };
}());
如何使用 VBScript 中的该对象(也称为类型或类)?
香草方法...
Dim foo
Set foo = New MyObj
。不起作用。
也没有
Dim foo
foo = MyObj()
。因为显然在调用 JS 函数时没有定义this
来自 VBScript。什么的。
那我该怎么做呢?
这是有价值的:Javascript中有可用的OO库,从VBScript使用会很有趣。
我不知道
如何避免VBScript不能直接调用Javascript"构造函数"的问题。 我处理它的方式是简单地定义一个填充程序:Javascript中的一个顶级函数,它从Javascript中调用构造函数并返回引用。
所以:
<script language='javascript' runat='server'>(function() {
MyObj = function() {
this.foo = ...
...
};
MyObj.prototype.method1 = function() { .. };
MyObj.prototype.method2 = function() { .. };
// define a shim that is accessible to vbscript
Shim = {construct: function() { return new MyObj(); } };
}());
</script>
<script language='vbscript' runat='server'>
Dim foo
Set foo = Shim.construct()
...
</script>
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 可以't让我的if语句处理js中的html表单输入
- 引用对象中的通用值
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 用程序搜索JQuery数据表中的文本
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 不能从angular2中的子组件指定父组件中的数组
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 将值从Javascript传递并返回到VBScript,ASP中的Vice Versa
- JavaScript 中的示例需要等效的 VBScript 代码
- 如何在 ASP-Classic 或 WSH 环境中使用 VBScript 中的 Javascript OO 类
- 从VBscript中的javascript函数获取值
- VBScript检查文件夹中的文件,并通过电子邮件发送过去1小时未更新的文件名
- 调用vbscript函数以在所有浏览器中的body onload上运行
- VBScript在窗口中未正确执行.IE 9中的execScript
- 调用VBScript中的JS函数
- 如何在HTA (HTML/Javascript/VBScript)中获得文件的关联图标
- 现在在VBscript中做赋值.需要给出每个人的位置;在一个字符串中