Архитектура Microsoft Windows для разработчиков


Область видимости данных


Область видимости — это часть 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


  1. Откройте Web-узел Exercise9 в Frontpage 98.


  2. Откройте главную страничку в Frontpage Editor.


  3. Поместите точку вставки в форме на Web-странице.




  4. В меню Insert выберите команду Advanced, Script.


  5. Введите в окне кода следующий код VBScript: Option Explicit

    Private Y

    Sub SetValues()

    Dim X

    X = 1

    Y = 1

    End Sub Sub Ch'angeValuesAgain( )

    X = 1

    Y = 1

    End Sub

  6. Щелкните кнопку Script Wizard.


  7. Раскройте в дереве объектов объект Window и щелкните его событие OnLoad.


  8. В окне кода введите следующий код VBScript и нажмите ОК:

    SetValues

    ChangeValuesAgain

  9. В редакторе Frontpage Editor откройте вкладку Preview и просмотрите Вашу Web-страницу.

    Вы получите сообщение об ошибке, гласящее, что переменная Х не определена. Это произошло потому, что Х действительна только в подпрограмме SetValues, где она была объявлена оператором Dim. Переменная Y же находится в области видимости, так как она была объявлена оператором Private вне процедуры.

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


  11. Добавьте следующую строку кода в подпрограмму Change ValuesAgain:

    Dim X

  12. Сохраните изменения и откройте Web-страницу.

    Обратите внимание, что ошибка не возникает: теперь Х находится в области видимости благодаря оператору Dim, который Вы только что добавили в подпрограмму ChangeValuesAgain.

  13. Закройте Internet Explorer и Frontpage 98.



  14. Содержание раздела