Учебники

6) Процедуры

В этом уроке вы узнаете

Процедуры VBScript

Процедуры VBScript используются в основном для организации и повторного использования кода. До сих пор мы использовали простые примеры, так как здесь целью является изучение VBScript. Но в реальном сценарии код не так прост. Когда вы пытаетесь реализовать что-то полезное, код может стать более сложным. На многих страницах могут быть сотни строк.

Если вы не организуете код должным образом, весь процесс кодирования, отладки и управления кодом станет действительно сложным. Таким образом, вы должны тщательно упорядочить или модульно оформить код, чтобы он стал легко управляемым.

Кроме того, предположим, что у вас есть набор утверждений, выполняющих определенное действие. Вы хотите, чтобы одно и то же действие повторялось несколько раз. Тогда зачем вам снова и снова писать один и тот же код? Используя эффективные методы, вы можете сделать свой код многоразовым. Это поможет разработчикам красиво организовать код, а тестировщикам — легко идентифицировать ошибки. Короче говоря, модульность и повторное использование кода очень важны для того, чтобы сделать код более мощным, надежным и простым в обслуживании. Здесь приходят процедуры в картинке.

Типы процедур в VBScript

Процедура — это блок кода, который в идеале выполняет одну функцию. Блок кода, который обрабатывает ввод или обрабатывает файл, является хорошим примером функции. В VBScript есть два типа процедур.

  1. Подпроцедура: Подпроцедура не возвращает значение.
  2. Функциональная процедура: функциональная процедура используется, если вы хотите вернуть значение.

Подпроцедуры:

Если вы хотите выполнить серию операторов без возврата какого-либо значения, вы можете использовать подпроцедуры.

Подпроцедуры начинаются и заканчиваются операторами Sub и End Sub соответственно. Подпроцедуры могут принимать аргументы, но не могут возвращать значение. Подпроцедуры могут или не могут принимать участие.

Sub outputMessage()
document.write("Welcome")
End Sub

Просто написание этого кода ничего не даст. Здесь вы создали процедуру Sub с именем outputMessage. Далее вам нужно позвонить.

вызовите outputMessage ()

Объедините оба этих набора кодов внутри тега <script> следующим образом.

<script type="text/vbscript">

Sub outputMessage()
document.write("Welcome")
End Sub
call outputMessage()
</script>

Выход этого кода будет

Функции и процедуры VBScript

Функции VBScript

Если вы хотите выполнить серию операторов и вернуть значение, вам нужно использовать функциональные процедуры, обычно называемые функцией.

Функциональные процедуры начинаются и заканчиваются операторами Function и End Function соответственно.

Функциональная процедура может принимать или не принимать входные данные.

Функциональные процедуры возвращают значение, присваивая значение его имени.

<script type="text/vbscript">
Function findArea(radius)
   const pi=3.14
   area = pi*radius*radius
   findArea = area
End Function
document.write("The area of the circle when the radius is 20 is " & findArea(20) &"<br/>")
document.write("The area of the circle when the radius is 10 is " & findArea(10))

</script>

Выход этого кода будет

Функции и процедуры VBScript

Параметры ByRef и ByVal

Вы можете передавать аргументы VBScript в процедуры по ссылке или по значению.

Если при вызове процедуры вы ничего не указали, то аргумент / аргументы по умолчанию передаются по ссылке.

Если изменения, внесенные в аргументы, сохраняются даже после вызова процедуры, вам необходимо передать аргументы VBScript по ссылке.

Когда аргумент передается по значению, любые изменения, вносимые вызываемой процедурой в значение переменной, не сохраняются после вызова процедуры.

Ключевые слова ByRef и ByVal используются для передачи аргументов по ссылке и по значению соответственно.

Чтобы понять разницу, сначала выполните приведенный ниже код и посмотрите результат.

Шаг 1) Скопируйте код в ваш редактор

<script type="text/vbscript">
Function returnResult(ByRef value)
   value = value +1
   returnResult = value
End Function
Dim x
x=5
call returnResult(x)
document.write(x)
</script>

Шаг 2) на выходе 6.

Шаг 3) Измените функцию returnResult (значение ByRef) на функцию returnResult (значение ByVal)

Шаг 4) Теперь ваш вывод будет 5.

Резюме

  • Процедуры VBScript используются главным образом для лучшей организации и повторного использования кода.
  • Существует два типа процедур VBS: подпроцедуры и функциональные процедуры.
  • Если вы хотите выполнить серию операторов без возврата какого-либо значения, вы можете использовать подпроцедуры.
  • Если вы хотите выполнить серию операторов и вернуть значение, вам нужно использовать функциональные процедуры.
  • Вы можете передавать аргументы в процедуры по ссылке или по значению. Аргументы передаются по ссылке по умолчанию.
  • Если вы хотите, чтобы изменения произошли, чтобы аргументы сохранялись даже после вызова процедуры, то вам нужно передать аргументы по ссылке, а в противном случае — по значению.