VBScript функции и процедури с пример
VBScript процедури
Процедурите на VBScript се използват главно за организиране на код и повторно използване. Досега използвахме прости примери, тъй като тук целта е изучаването на VBScript. Но в реалния свят кодът не е толкова прост. Когато се опитате да внедрите нещо, което е полезно, кодът може да стане по-сложен. Може да има стотици редове, простиращи се на много страници.
Ако не организирате правилно кода, целият процес на кодиране, отстраняване на грешки и управление на кода ще стане наистина сложен. Така че трябва внимателно да организирате или модулирате кода, така че вашият код да стане лесно управляем.
Освен това, да предположим, че имате набор от изрази, които изпълняват определено действие. Искате едно и също действие да се повтори няколко пъти. Тогава защо трябва да пишете един и същи код отново и отново? Като използвате ефективни техники, можете да направите своя код многократно използваем. Това ще помогне на разработчиците да организират красиво кода, а на тестерите лесно да идентифицират грешки. Накратко, модулирането и повторното използване на кода е много важно, за да направи кода по-мощен, надежден и по-лесен за поддръжка. Ето процедурите в картина.
Видове процедури във VBScript
Процедурата е блок от код, който в идеалния случай изпълнява една функция. Блок от код, който обработва вход или обработва файл, е добър пример за функция. Има два вида процедури в vbscript.
- Подпроцедура: Подпроцедурата не връща стойност.
- Функционална процедура: Функционалната процедура се използва, ако искате да върнете стойност.
Подпроцедури
Ако искате да изпълните поредица от оператори, без да връщате никаква стойност, тогава можете да използвате подпроцедури.
Подпроцедурите започват и завършват съответно с изрази Sub и End Sub. Подпроцедурите могат да приемат аргументи, но не могат да връщат стойност. Подпроцедурите могат или не могат да приемат входни данни.
Sub outputMessage() document.write("Welcome") End Sub
Самото писане на този код няма да изведе нищо. Тук сте създали подпроцедура с име outputMessage. След това трябва да го извикате.
извикване 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.
Oбобщение
- Процедурите на VBScript се използват главно за по-добра организация на кода и повторно използване.
- Има два вида VBS процедури: подпроцедури и функционални процедури.
- Ако искате да изпълните поредица от оператори, без да връщате никаква стойност, тогава можете да използвате подпроцедури.
- Ако искате да изпълните поредица от оператори и да върнете стойност, тогава трябва да използвате функционални процедури.
- Можете да предавате аргументи на процедурите по препратка или по стойност. Аргументите се предават по препратка по подразбиране.
- Ако искате промените, настъпили в аргументите, да се запазят дори след извикването на процедурата, тогава трябва да предадете аргументите по препратка, а в противен случай по стойност.