Функции и процедуры VBScript с примером
Процедуры VBScript
Процедуры VBScript используются в основном для организации и повторного использования кода. До сих пор мы использовали простые примеры, поскольку здесь целью является изучение VBScript. Но в реальном сценарии код не так прост. Когда вы пытаетесь реализовать что-то полезное, код может стать более сложным. На многих страницах могут быть сотни строк.
Если вы не организуете код должным образом, весь процесс кодирования, отладки и управления кодом станет действительно сложным. Поэтому вам следует тщательно организовывать или модулировать код, чтобы вашим кодом было легко управлять.
Более того, предположим, что у вас есть набор операторов, выполняющих определенное действие. Вы хотите, чтобы одно и то же действие повторялось несколько раз. Тогда зачем вам писать один и тот же код снова и снова? Используя эффективные методы, вы можете сделать свой код пригодным для повторного использования. Это поможет разработчикам красиво организовать код, а тестировщикам легко выявлять ошибки. Короче говоря, модульность и повторное использование кода очень важны для того, чтобы сделать код более мощным, надежным и простым в обслуживании. Здесь представлены процедуры.
Типы процедур в VBScript
Процедура — это блок кода, который в идеале выполняет одну функцию. Блок кода, который обрабатывает входные данные или файл, является хорошим примером функции. Существует два типа процедур в VBScript.
- Подпроцедура: Подпроцедура не возвращает значение.
- Функциональная процедура: Функциональная процедура используется, если вы хотите вернуть значение.
Подпроцедуры
Если вы хотите выполнить серию операторов, не возвращая никакого значения, вы можете использовать подпроцедуры.
Подпроцедуры начинаются и заканчиваются операторами Sub и End Sub соответственно. Подпроцедуры могут принимать аргументы, но не могут возвращать значения. Подпроцедуры могут принимать или не принимать входные данные.
Sub outputMessage() document.write("Welcome") End Sub
Просто написание этого кода ничего не выведет. Здесь вы создали подпроцедуру с именем outputMessage. Далее вам нужно позвонить ему.
вызвать выходное сообщение()
Объедините оба этих набора кодов внутри tag like this.
<script type="text/vbscript"> Sub outputMessage() document.write("Welcome") End Sub call outputMessage() </script>
Результатом этого кода будет
Функции 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>
Результатом этого кода будет
Параметры 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: подпроцедуры и функциональные процедуры.
- Если вы хотите выполнить серию операторов, не возвращая никакого значения, вы можете использовать подпроцедуры.
- Если вы хотите выполнить серию операторов и вернуть значение, вам необходимо использовать функциональные процедуры.
- Вы можете передавать аргументы процедурам по ссылке или по значению. По умолчанию аргументы передаются по ссылке.
- Если вы хотите, чтобы изменения, произошедшие с аргументами, сохранялись даже после вызова процедуры, вам необходимо передавать аргументы по ссылке, а в противном случае — по значению.