我知道如果language =“JScript”,可以使用VBScript中编码的函数,如下所示:
<%@ language="JScript" %>
<% Response.Write(myFunc()); %>
<script runat="server" language="vbscript">
Function myFunc
myFunc="test"
End Function
</script>
但是,在使用JScript重构脚本之前,我想知道,假设语言设置为VBScript,是否仍有可能在JScript中使用VBScript函数。或者,在这种情况下,只有另一种方式是可能的。
谢谢!
答案 0 :(得分:2)
我在使用jscript,vbscript和Python之前测试了这个。可以从另一个代码块中的一种语言调用函数并使用结果。
但有一些警告:
您需要确保该函数返回另一种语言可识别的类型;所以将Python对象返回到vbscript是行不通的,但是如果你使用字符串,数字和布尔值这样的简单类型就可以了。我认为甚至数组也可以在vbscript和jscript之间运行。
要考虑的第二件事是在服务器上处理脚本的顺序中有一个序列;我不知道它到底是什么,但ASP会先处理一种语言,然后再处理另一种语言。
当您的代码使用不同的语言调用函数并且无法找到该函数时,这可能会导致奇怪的事情发生,因为ASP仍然需要处理该函数的语言。
只要您将执行保留在函数中并确保只使用一种特定语言编写这些函数之外的代码,这不应该是一个问题。
以下是有关执行顺序的更多信息:http://www.kidslovepc.com/asp/order_execution.shtml