ASP手順
ASPでは、VBScriptからJavaScriptプロシージャを呼び出すことができ、その逆も可能です。
手順
ASPソースコードには、プロシージャと関数を含めることができます。
例
<!DOCTYPE html>
<html>
<head>
<%
sub vbproc(num1,num2)
response.write(num1*num2)
end sub
%>
</head>
<body>
<p>Result: <%call vbproc(3,4)%></p>
</body>
</html>
<html>タグの上に<%@ language = " language "%>行を挿入して、プロシージャ/関数を別のスクリプト言語で記述します。
例
<%@ language="javascript" %>
<!DOCTYPE html>
<html>
<head>
<%
function jsproc(num1,num2)
{
Response.Write(num1*num2)
}
%>
</head>
<body>
<p>Result: <%jsproc(3,4)%></p>
</body>
</html>
VBScriptとJavaScriptの違い
VBScriptで記述されたASPファイルからVBScriptまたはJavaScriptプロシージャを呼び出す場合は、「call」キーワードの後にプロシージャ名を使用できます。プロシージャでパラメータが必要な場合、「call」キーワードを使用するときは、パラメータリストを括弧で囲む必要があります。「call」キーワードを省略した場合は、パラメータリストを括弧で囲まないでください。プロシージャーにパラメーターがない場合、括弧はオプションです。
JavaScriptで記述されたASPファイルからJavaScriptまたはVBScriptプロシージャを呼び出す場合は、プロシージャ名の後に必ず括弧を使用してください。
VBScriptプロシージャ
VBScriptには2種類のプロシージャがあります。
- サブ手順
- 機能手順
VBScriptサブプロシージャ
サブ手順:
- SubステートメントとEndSubステートメントで囲まれた一連のステートメントです。
- アクションを実行できますが、値を返しません
- 引数を取ることができます
Sub mysub()
some statements
End Sub
また
Sub mysub(argument1,argument2)
some statements
End Sub
例
Sub mysub()
response.write("I was written by a sub procedure")
End Sub
VBScript関数プロシージャ
関数の手順:
- FunctionステートメントとEndFunctionステートメントで囲まれた一連のステートメントです。
- アクションを実行でき、値を返すことができます
- 呼び出し元のプロシージャによって渡される引数を取ることができます
- 引数なしで、空の括弧のセットを含める必要があります()
- 名前に値を割り当てて値を返します
Function myfunction()
some statements
myfunction=some value
End Function
また
Function myfunction(argument1,argument2)
some statements
myfunction=some value
End Function
例
function myfunction()
myfunction=Date()
end function
プロシージャの呼び出し
この単純な関数プロシージャは、2つの引数の合計を計算するために呼び出されます。
例
Function myfunction(a,b)
myfunction=a+b
End Function
response.write(myfunction(5,9))
関数「myfunction」は、引数「a」と引数「b」の合計を返します。この場合14。
プロシージャを呼び出すときは、次のようにCallステートメントを使用できます。
Call MyProc(argument)
または、次のようにCallステートメントを省略できます。
MyProc argument
その他の例
呼び出すASPファイルでJavaScriptプロシージャとVBScriptプロシージャの両方を呼び出す方法。