В этом руководстве вы узнаете:
- Процедуры VBScript
- Типы процедур в VBScript
- Подпроцедуры
- Функции VBScript
- Параметры ByRef и ByVal
Процедуры VBScript
Процедуры VBScript используются в основном для организации и повторного использования кода. До сих пор мы использовали простые примеры, так как здесь целью является изучение VBScript. Но в реальном сценарии код не так прост. Когда вы пытаетесь реализовать что-то полезное, код может стать более сложным. На многих страницах могут тянуться сотни строк.
Если вы не организуете код должным образом, весь процесс кодирования, отладки и управления кодом станет действительно сложным. Таким образом, вы должны тщательно организовать или разбить код на модули, чтобы вашим кодом стало легко управлять.
Более того, предположим, что у вас есть набор операторов, выполняющих определенное действие. Вы хотите, чтобы одно и то же действие повторялось несколько раз. Тогда зачем писать один и тот же код снова и снова? Используя эффективные методы, вы можете сделать свой код многоразовым. Это поможет разработчикам красиво организовать код, а тестировщикам легко выявлять ошибки. Короче говоря, модульность и повторное использование кода очень важны для того, чтобы сделать код более мощным, надежным и простым в обслуживании. Вот и процедуры в картинке.
Типы процедур в VBScript
Процедура - это блок кода, который в идеале выполняет одну функцию. Блок кода, который обрабатывает ввод или обрабатывает файл, является хорошим примером функции. В VBScript есть два типа процедур.
- Подпроцедура: Подпроцедура не возвращает значение.
- Функциональная процедура: Функциональная процедура используется, если вы хотите вернуть значение.
Подпроцедуры:
Если вы хотите выполнить серию операторов без возврата какого-либо значения, вы можете использовать подпроцедуры.
Подпроцедуры начинаются и заканчиваются операторами Sub и End Sub соответственно. Подпроцедуры могут принимать аргументы, но не могут возвращать значение. Подпроцедуры могут принимать или не принимать входные данные.
Sub outputMessage()document.write("Welcome")End Sub
Просто написание этого кода ничего не даст. Здесь вы создали процедуру Sub с именем outputMessage. Далее нужно его назвать.
вызов outputMessage ()
Объедините оба этих набора кодов внутри тега
Результатом этого кода будет
Функции VBScript
Если вы хотите выполнить серию операторов и вернуть значение, вам необходимо использовать процедуры функции, обычно известные как функции.
Функциональные процедуры начинаются и заканчиваются операторами Function и End Function соответственно.
Функциональная процедура может принимать или не принимать входные данные.
Функциональные процедуры возвращают значение, присваивая значение его имени.
Результатом этого кода будет
Параметры ByRef и ByVal
Вы можете передавать аргументы VBScript процедурам по ссылке или по значению.
Если вы ничего не указываете при вызове процедуры, то аргумент / аргументы по умолчанию передаются по ссылке.
Если изменения, внесенные в аргументы, сохраняются даже после вызова процедуры, вам необходимо передать аргументы VBScript по ссылке.
Когда аргумент передается по значению, любые изменения, которые вызываемая процедура вносит в значение переменной, не сохраняются после вызова процедуры.
Ключевые слова ByRef и ByVal используются для передачи аргументов по ссылке и по значению соответственно.
Чтобы понять разницу, сначала выполните приведенный ниже код и посмотрите результат.
Шаг 1) Скопируйте код в свой редактор
Шаг 2) на выходе будет 6.
Шаг 3) Измените функцию returnResult (значение ByRef) на функцию returnResult (значение ByVal)
Шаг 4) Теперь ваш результат будет 5.
Резюме
- Процедуры VBScript используются в основном для лучшей организации кода и его повторного использования.
- Существует два типа процедур VBS: подпроцедуры и функциональные процедуры.
- Если вы хотите выполнить серию операторов без возврата какого-либо значения, вы можете использовать подпроцедуры.
- Если вы хотите выполнить серию операторов и вернуть значение, вам необходимо использовать процедуры-функции.
- Вы можете передавать аргументы процедурам по ссылке или по значению. По умолчанию аргументы передаются по ссылке.
- Если вы хотите, чтобы изменения, произошедшие с аргументами, сохранялись даже после вызова процедуры, вам необходимо передать аргументы по ссылке, а в противном случае - по значению.