русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Область видимости переменной


Дата добавления: 2015-07-09; просмотров: 484; Нарушение авторских прав


 

Область видимости (scope) переменной – это та часть программы, для которойэта переменная определена. Глобальная переменная имеет глобальную область видимости – она определена для всей JavaScript_программы. Переменные, объ_ явленные внутри функции, определены только в ее теле. Они называются локаль' ными и имеют локальную область видимости. Параметры функций также счита_ются локальными переменными, определенными только в теле этой функции.

 

Внутри тела функции локальная переменная имеет преимущество перед гло_ бальной переменной с тем же именем. Если объявить локальную переменную или параметр функции с тем же именем, что у глобальной переменной, то фак_ тически глобальная переменная будет скрыта. Так, следующий код печатает слово «локальная»:

 

var scope = "глобальная"; // Объявление глобальной переменной

function checkscope() {

var scope = "локальная"; // Объявление локальной переменной с тем же именем

document.write(scope); // Используется локальная переменная, а не глобальная

}

checkscope(); // Печатается слово "локальная"

 

Объявляя переменные с глобальной областью видимости, инструкцию var мож_ но опустить, но при объявлении локальных переменных она необходима. По_ смотрите, что получается, если этого не сделать:

scope = "глобальная"; // Объявление глобальной переменной, даже без var

function checkscope() {

scope = "локальная"; // Ой! Мы только что изменили глобальную переменную

document.write(scope); // Используется глобальная переменная

myscope = "локальная"; // Здесь мы неявно объявляем новую глобальную переменную

document.write(myscope); // Используется новая глобальная переменная

}

checkscope(); // Печатает "локальнаялокальная"

document.write(scope); // Печатает "локальная"



document.write(myscope); // Печатает "локальная"


 

70 Глава 4. Переменные

Функции, как правило, не знают, какие переменные объявлены в глобальной области видимости или для чего они нужны. Поэтому функция, использующая глобальную переменную вместо локальной, рискует изменить значение, необхо_ димое какой_либо другой части программы. К счастью, избежать этой неприят_ ности легко: объявляйте все переменные с помощью инструкции var.

 

Определения функций могут быть вложенными. Каждая функция имеет собст_ венную локальную область видимости, поэтому может быть несколько вложен_ ных уровней локальных областей видимости. Например:

var scope = "глобальная область видимости"; // Глобальная переменная
function checkscope() {    
var scope = "локальная область видимости"; // Локальная переменная
function nested() {    
var scope = "вложенная область видимости"; // Вложенная область видимости
  // локальных переменных
document.write(scope); // Печатает "вложенная область видимости"
}    
nested();    
}    
checkscope();    


<== предыдущая лекция | следующая лекция ==>
Объявление переменных | Отсутствие блочной области видимости


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.508 сек.