Область применения JavaScript

Область видимости — это термин, используемый для обозначения видимости переменной. область переменной — это часть вашего кода, которая может обращаться к этой переменной и изменять её. JavaScript имеет область применения функций — но что это значит и чем он отличается от других языков?

Во многих языках программирования область видимости определяется блоком, в котором была объявлена переменная. Блок в C-подобных языках представляет собой что-либо между двумя фигурными скобками или отступ в языке, подобном Python. Например, b приведённая ниже переменная недоступна вне фигурных скобок, в которых она была объявлена:

var a = 10;

if (a > 5) {
    var b = 5;
}

var c = a + b; // Wouldn't work!

Глобальные переменные, то есть переменные, которые могут быть прочитаны и изменены в любом месте вашего приложения, не годятся, потому что они могут выявить проблемы безопасности и значительно усложнить обслуживание кода.

Помните, что код читается гораздо чаще, чем записывается. При чтении кода, если вы не можете определить, откуда взялась переменная и каковы её потенциальные значения, возникает проблема.

Поэтому лучше всего максимально ограничить область видимости переменной, сделав её видимой для как можно меньшего количества частей вашего кода.

Область применения функции

JavaScript работает немного по-другому. Он использует область действия функции. Это означает, что переменные не видны за пределами функции, в которой они были объявлены. Если они не объявлены внутри функции, то они доступны глобально.

Приведённый ниже пример демонстрирует, что переменная видна только внутри функции, в которой она была объявлена. Функция doSomething является областью видимости переменной a.

var doSomething = function () {
    var a = 10;
};

doSomething();

console.log(a); // a is undefined

Сравнивая это с примером области видимости блока выше, вы можете видеть, что в JavaScript доступно b:

var a = 10;

if (a > 5) {
    var b = 5;
}

var c = a + b; // c is 15

Дочерние области

Переменные доступны в дочерних областях своей собственной области. Например, doSomethingElse является дочерним элементом doSomething, поэтому a виден внутри doSomethingElse.

var doSomething = function () {
    var a = 10;
var doSomethingElse = function () {
    console.log(a); // a is 10
};
doSomethingElse();
};

doSomething();

Функциональная область видимости — это очень мощный инструмент для создания элегантного кода, как мы увидим, но может потребоваться некоторое время, чтобы разобраться в этом.

Страницы в тему:

  • Следующая страница: jQuery
  • Предыдущая страница: JSON

Добавить комментарий