1

language="JScript" の場合、次のように VBScript でコーディングされた関数を使用できることはわかっています。

<%@ language="JScript" %>
<% Response.Write(myFunc()); %>
<script runat="server" language="vbscript">
    Function myFunc
        myFunc="test"
    End Function
</script>

ただし、JScript でスクリプトをリファクタリングする前に、言語が VBScript に設定されていると仮定して、JScript で VBScript 関数を使用する可能性がまだあるかどうかを知りたいと思いました。または、その場合、その逆のみが可能です。

ありがとう!

4

1 に答える 1

2

jscript、vbscript、および Python を使用する前に、これをテストしました。ある言語の関数を別の言語のコード ブロックで呼び出して、結果を操作することができます。

ただし、いくつかの注意事項があります。

関数が他の言語が認識できる型を返すことを確認する必要があります。そのため、Python オブジェクトを vbscript に返すことはできませんが、文字列、数値、ブール値などの単純な型を使用する場合は可能です。配列も vbscript と jscript の間で機能すると思います。

考慮すべき 2 番目のことは、サーバー上でスクリプトが処理される順序に順序があることです。それが何であるかはもう正確にはわかりませんが、ASP は最初に 1 つの言語を処理し、次に別の言語を処理します。
これにより、コードが別の言語で関数を呼び出し、ASP がその関数の言語を処理する必要があるためにその関数が見つからない場合に、奇妙なことが起こる可能性があります。

実行を関数内に保持し、特定の言語でこれらの関数の外にのみコードを記述することを確認する限り、これは問題になりません。

実行順序の詳細は次のとおりです: http://www.kidslovepc.com/asp/order_execution.shtml

于 2012-08-29T10:09:40.450 に答える