Область видимости данных
Область видимости — это часть Web-страницы, в пределах которой можно обращаться к данной переменной. В VBScript используются две области видимости:
локальная и уровня сценария.
Если Вы объявили переменную в процедуре, она имеет локальную область видимости и доступна только внутри данной процедуры. Когда процедура завершается, переменная выходит из области видимости.
Если переменная объявлена вне процедуры, она доступна всем процедурам на Web-странице или, другими словами, имеет область видимости уровня сценария. Такие переменные доступны все время, пока Web-страница отображается в программе просмотра.
Когда переменная объявляется на уровне сценария, она дополнительно может быть объявлена открытой (ключевым словом Public) или закрытой (Private). Переменные, объявленные с помощью ключевого слова Public, доступны всем процедурам всех сценариев страницы. Закрытые переменные доступны только в рамках сценария, где они объявлены. Переменные, объявленные оператором Dim на уровне сценария, доступны всем его процедурам; переменные, объявленные на уровне процедуры, доступны только в ней.
Средствами операторов Dim, Public и Private с пустыми круглыми скобками можно объявить динамические массивы. Фактическая размерность и длина динамического массива в процедуре задается оператором ReDim. Если Вы попытаетесь изменить размерность массива, размер которого явно указан в операторе Private, Public или Dim, возникнет ошибка.
Синтаксис При объявлении переменных используется следующий синтаксис:
Dim имя_переменной[([размерности])]
Public имя_переменной[([размерности])]
Private имя_переменной[([размерности])]
Пример Здесь переменная Х доступна во всех сценариях и соответствующих процедурах проекта, переменная Y — только в текущем сценарии, а переменная Z — лишь в подпрограмме MySub:
<SCRIPT>
Public X
Private Y
MySub()
Dim Z
End Sub
</SCRIPT>
Примечание При объявлении переменных в процедуре выражения с операторами Dim, Public и Private рекомендуется располагать в начале процедуры.
> Использование переменных в VBScript
- Откройте Web-узел Exercise9 в Frontpage 98.
- Откройте главную страничку в Frontpage Editor.
- Поместите точку вставки в форме на Web-странице.
- В меню Insert выберите команду Advanced, Script.
- Введите в окне кода следующий код VBScript: Option Explicit
Private Y
Sub SetValues()
Dim X
X = 1
Y = 1
End Sub Sub Ch'angeValuesAgain( )
X = 1
Y = 1
End Sub
- Щелкните кнопку Script Wizard.
- Раскройте в дереве объектов объект Window и щелкните его событие OnLoad.
- В окне кода введите следующий код VBScript и нажмите ОК:
SetValues
ChangeValuesAgain
- В редакторе Frontpage Editor откройте вкладку Preview и просмотрите Вашу Web-страницу.
Вы получите сообщение об ошибке, гласящее, что переменная Х не определена. Это произошло потому, что Х действительна только в подпрограмме SetValues, где она была объявлена оператором Dim. Переменная Y же находится в области видимости, так как она была объявлена оператором Private вне процедуры.
- Щелкните кнопку Yes, чтобы закрыть окно сообщения, и вернитесь к обычному представлению страницы.
- Добавьте следующую строку кода в подпрограмму Change ValuesAgain:
Dim X
- Сохраните изменения и откройте Web-страницу.
Обратите внимание, что ошибка не возникает: теперь Х находится в области видимости благодаря оператору Dim, который Вы только что добавили в подпрограмму ChangeValuesAgain.
- Закройте Internet Explorer и Frontpage 98.