Глобальные и локальные переменны JavaScript
JavaScript поддерживает использование глобальных и локальных переменных.
Глобальные переменные определяются вне функций и доступны во всем скрипте. Они могут быть определены с помощью ключевого слова var
, let
или const
, без использования ключевого слова. Если переменная объявлена без ключевого слова, она автоматически становится глобальной. Глобальные переменные могут быть использованы в любом месте скрипта и могут быть изменены из любой функции или блока кода.
Локальные переменные определяются внутри функций или блоков кода и доступны только внутри этой функции или блока кода. Они также могут быть определены с помощью ключевых слов var
, let
или const
. Локальные переменные не могут быть использованы за пределами функции или блока кода, в которых они определены.
Использование локальных переменных часто предпочтительнее, чем использование глобальных, потому что они помогают избежать нежелательных побочных эффектов и конфликтов имен переменных. Вместо этого локальные переменные помогают организовать код, делая его более читабельным и легко поддерживаемым.
Примеры глобальных и локальных переменных в JavaScript:
Глобальная переменная:
var globalVariable = "Hello, world!"; // глобальная переменная
function sayHello() {
console.log(globalVariable); // доступ к глобальной переменной из функции
}
sayHello(); // выводит "Hello, world!" в консоль
Локальная переменная:
function sayHello() {
var localVariable = "Hello, world!"; // локальная переменная
console.log(localVariable); // доступ к локальной переменной внутри функции
}
sayHello(); // выводит "Hello, world!" в консоль
console.log(localVariable); // ошибка: локальная переменная не доступна за пределами функции
Кроме того, в JavaScript есть также блочные области видимости, определенные с помощью ключевых слов let
и const
. Переменные, определенные с помощью этих ключевых слов, доступны только внутри блока, в котором они были объявлены, и не могут быть изменены за пределами этого блока.
Пример локальной переменной, определенной с помощью let
в блоке кода:
function sayHello() {
let message = "Hello, world!"; // локальная переменная в блоке кода
if (true) {
let message = "Hello, there!"; // другая локальная переменная внутри блока if
console.log(message); // выводит "Hello, there!"
}
console.log(message); // выводит "Hello, world!"
}
sayHello();
В этом примере, блочная область видимости let
позволяет использовать одно и то же имя переменной message
в разных блоках кода без конфликта имен.