Процедуры ASP
В ASP вы можете вызывать процедуру JavaScript из VBScript и наоборот.
Процедуры
Исходный код 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>
Вставьте строку <%@ language=" language " %> над тегом <html>, чтобы написать процедуру/функцию на другом языке сценариев:
Пример
<%@ 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 или JavaScript из файла ASP, написанного на VBScript, можно использовать ключевое слово call, за которым следует имя процедуры. Если процедуре требуются параметры, список параметров должен быть заключен в круглые скобки при использовании ключевого слова call. Если вы опустите ключевое слово call, список параметров не должен заключаться в круглые скобки. Если процедура не имеет параметров, круглые скобки необязательны.
При вызове процедуры JavaScript или VBScript из файла ASP, написанного на JavaScript, всегда используйте круглые скобки после имени процедуры.
Процедуры VBScript
VBScript имеет два вида процедур:
- Подпроцедура
- Функциональная процедура
Подпроцедуры VBScript
Подпроцедура:
- представляет собой серию операторов, заключенных в операторы Sub и End Sub.
- может выполнять действия, но не возвращает значение
- может принимать аргументы
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 и End Function.
- может выполнять действия и может возвращать значение
- может принимать аргументы, переданные ему вызывающей процедурой
- без аргументов, должен включать пустой набор круглых скобок ()
- возвращает значение, присваивая значение своему имени
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
Вызов процедуры
Эта простая функция процедуры вызывается для вычисления суммы двух аргументов:
Пример
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
Дополнительные примеры
Как вызвать процедуру JavaScript и процедуру VBScript в файле ASP.